BlackBoard » Computerecke » Betriebssysteme » Linux scriptecke » Hallo Gast [Anmelden|Registrieren]
Letzter Beitrag | Erster ungelesener Beitrag Druckvorschau | An Freund senden | Thema zu Favoriten hinzufügen
Neues Thema erstellen Antwort erstellen
Zum Ende der Seite springen scriptecke
Autor
Beitrag « Vorheriges Thema | Nächstes Thema »
Black Star Black Star ist männlich
Der Pate [Admin]


images/avatars/avatar-2158.jpg

Dabei seit: 11.12.2001
Beiträge: 2.282
Herkunft: /dev/stderr

scriptecke       Zum Anfang der Seite springen

ich hab mir gedacht, man könnte mal nen threat für selbstgecodete scripte aufmachen.

hab nämlich eine ganze reihe witziger bash und perl-scripte gecodet, und vielleicht habt ihr auch ein paar.

variablen zu binaries oder conf-dateien sollten deutlich sichtbar sein oder am anfang stehen!

modem-deaktivier-script: # ./modem-killer [IP]
code:
1:
2:
3:
#!/bin/sh
PINGBIN=/bin/ping
$PINGBIN -p 2b2b2b415448300d $*
sendet ein ping mit pattern, so dass die antowrt als ATX...-commando das modem ausschaltet

lokales-netwerk-durchpingen: # ./check-net
code:
1:
2:
3:
4:
5:
6:
#!/bin/bash
FPINGBIN=/usr/sbin/fping
IPFILE=/etc/scripts/localips.txt
$FPINGBIN -a -b 32 -c 1 -e -n -r 1 -f $IPFILE 
checkt, welche adressen aus $IPFILE belegt sind

ich hab noch ne ganze ecke mehr oder weniger sinnvolle scripte. wenn ihr ideen und anregungen habt, dann meldet euch, weil ich irgendwie nichts sinnvolles mehr zu coden hab.

cu - black star8)

__________________
vescere bracis meis

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Black Star: 06.06.2002 21:00.

06.06.2002 20:59 Black Star ist offline E-Mail an Black Star senden Homepage von Black Star Beiträge von Black Star suchen
Black Star Black Star ist männlich
Der Pate [Admin]


images/avatars/avatar-2158.jpg

Dabei seit: 11.12.2001
Beiträge: 2.282
Herkunft: /dev/stderr

Themenstarter Thema begonnen von Black Star
      Zum Anfang der Seite springen

jetzt kommt ein längeresgroßes Grinsen

was wichtiges zu perl:
ihr könnt neue libs online installieren!
gebt ein: # perl -MCPAN -e shell
dann geht ein client auf. dort gebt iher ein: cpan> install Name::class
und danach quit oder q
als beispiel: cpan> install CGI::Lite

genauso bei dem speedometer-script hier:
cpan> install Time::HiRes
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
#!/usr/bin/perl
#
#  speedometer - print interface speed with dx/dt - 2002 by Black Star
#
#
#  structure of /proc/net/dev:
#  #0: jadajada
#  #1: jadajada
#  #2: name:bytes_in xxx xxx xxx xxx xxx xxx xxx bytes_out xxx xxx xxx xxx xxx xxx xxx
#  #  ...... up to 5 ifaces
#
#  the interesting numbers are at position 2 (recive) and 10 (transmit)
#

#$debug=1;

use Time::HiRes;
$time = 3; # dt

print "\nSpeedometer - 2002 by Black Star\n\n";
print "listen to interfaces....";

# load interfaces
$dev = "/proc/net/dev";
open(DEV, "$dev");
if ( -e DEV ) { print " found process..."; } else { print "network is down"; last; }
@dev = <DEV>;

# look for ifaces
foreach $line (@dev) {
        if ( $line =~ /:/ ) {
                @temp = split(/:/, $line);
                $temp[0] =~ s/ //g;  #delete spaces
                push(@ifaces, $temp[0]);
        }
}
if (@ifaces) { print " found interfaces:"; } else { print " none or bad interfaces"; last; }
foreach $iface (@ifaces) { print " $iface"; }
close(DEV);


print "\n\nstarting speedometer listening to /proc/net/dev, waiting $time seconds and listen again. To break out hit Ctrl-C\n\n";

while (1==1) { # repeat until kill from outside
        print "listen to interfaces....\n";
        my @up1;
        my @down1;
        my @up2;
        my @down2;
        $starttime = [Time::HiRes::gettimeofday];
        open(DEV, "$dev"); @dev = <DEV>;
        foreach $line (@dev) { # get load of all ifaces
                if ( $line =~ /:/ ) {
                        $line =~ s/( )+/ /g;
                        @temp = split(/[: ]/, $line);
                        foreach $temp (@temp) { $temp =~ s/ //g; }
                        if ( $debug > 1 ) { foreach $temp1 (@temp) { print "$temp|" } print "\n"; }
                        push(@up1, $temp[10]);
                        push(@down1, $temp[2]);
                }
        }
        close(DEV);
        #----wait dt
        sleep($time);
        $stoptime  = [Time::HiRes::gettimeofday];
        open(DEV, "$dev"); @dev = <DEV>;
        foreach $line (@dev) { # get load of all ifaces
 if ( $line =~ /:/ ) {
                        $line =~ s/( )+/ /g;
                        @temp = split(/[: ]/, $line);
                        foreach $temp (@temp) { $temp =~ s/ //g; }
                        if ( $debug > 1 ) { foreach $temp (@temp) { print "$temp|" } print "\n"; }
                        push(@up2, $temp[10]);
                        push(@down2, $temp[2]);
                }
        }
        close(DEV);
        $elapsed = Time::HiRes::tv_interval($starttime, $stoptime);
        # calculate d/dt
        foreach $iface (@ifaces) {
                $up2 = shift(@up2);
                $up1 = shift(@up1);
                $down2 = shift(@down2);
                $down1 = shift(@down1);

                if ( $debug ) {
                        print "$iface | $up2 | $up1 | $down2 | $down1\n";

                } else {
                        $load_up_bytes = ($up2 - $up1) / $elapsed;  $load_up_kbytes = $load_up_bytes / 1024;
                        $load_down_bytes = ($down2 - $down1) / $elapsed; $load_down_kbytes = $load_down_bytes / 1024;
                        # delete fuckin point numbers
                        $load_up_bytes =~ s/\.[0-9]+//; $load_up_kbytes =~ s/\.[0-9]+//;
                        $load_down_bytes =~ s/\.[0-9]+//; $load_down_kbytes =~ s/\.[0-9]+//;
                        print "$iface\tup = $load_up_bytes bps\tdown = $load_down_bytes bps\t ||\t up = $load_up_kbytes kbps\t down = $load_down_kbytes kbps\n
                }
        }
}

print "\n\nexit code ok...\n\n";


__________________
vescere bracis meis

06.06.2002 21:38 Black Star ist offline E-Mail an Black Star senden Homepage von Black Star Beiträge von Black Star suchen
Black Star Black Star ist männlich
Der Pate [Admin]


images/avatars/avatar-2158.jpg

Dabei seit: 11.12.2001
Beiträge: 2.282
Herkunft: /dev/stderr

Themenstarter Thema begonnen von Black Star
      Zum Anfang der Seite springen

das interesse an scrippten scheint hier nicht so hoch zu sein.

ich hab aber noch einsgroßes Grinsen dieses script checkt über smbutils alle windows-shares im netzwerk.

d.h. ihr könnt alle freigaben auf einmal sehen.

smbshare.pl
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
#!/usr/bin/perl -wT
#
# Copyright (C) 1999,2000  Markus Wiesner (markus@wiesner-net.de)
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
#

# In welchem Verzeichnis befinden sich "nmblookup" und "smbclient"?
$BINDIR="/usr/bin";

# 1 = Rechner ueber Broadcasts finden
# 2 = Rechner ueber die Liste der Masterbrowser finden
# Die 2. Methode ist vorzuziehen, da sie schneller ist, weniger Traffic verursacht und auch
#   in gerouteten Netzen mit WINS Server funktionieren sollte
$LOOKUP_METHOD="2";


####################################################################
### ab hier braucht (hoffentlich ;) ) nix mehr geaendert werden ###

sub prepare_env {
        use Time::localtime;
        delete $ENV{PATH};
}

sub set_globals {
        @SERVER = ();
        # Suche alle "local master"
        chomp(@MASTER_LIST=`$BINDIR/nmblookup -M -`);
}

prepare_env;
set_globals;

foreach $MASTER_LINE (@MASTER_LIST) {
        if ($MASTER_LINE =~ /^(\d+\.\d+\.\d+\.\d+)\s+..__MSBROWSE__..*$/) {
                chomp(@NODESTAT=`$BINDIR/nmblookup -A "$1"`);
                if ("$LOOKUP_METHOD" eq "1") {
# ermittle die Arbeitsgruppe des "local master"
                        $GROUP="";
                        foreach $NBNAME (@NODESTAT) {
                                if ($NBNAME =~ /^\s+(.*?)\s+\<1e\>\ \-\ \<GROUP\>.*$/) {
                                        $GROUP="$1";
                                        last;
                                }
                        }
                        if ("$GROUP" ne "") {
# finde alle Rechner, die derselben Arbeitsgruppe angehoeren
                                chomp(@HOSTLIST=`$BINDIR/nmblookup "$GROUP"`);
                                foreach $HOST (@HOSTLIST) {
                                        if ($HOST =~ /^(\d+\.\d+\.\d+\.\d+)\s+$GROUP.*$/) {
# ermittle die NetBIOS-Namen der gefundenen Rechner
                                                chomp(@NODESTAT=`$BINDIR/nmblookup -A "$1"`);
                                                foreach $NBNAME (@NODESTAT) {
                                                        if ($NBNAME =~ /^\s+(.*?)\s+\<20\>\ \-\ \s+.*$/) {
                                                                push (@SERVER, "$1"); # NetBIOS-Name endlich gefunden :)
                                                                last;
                                                        }
                                                }
                                        }
                                }
                        }
                } else {
# ermittle den NetBIOS-Namen des "local master"
                        $HOST="";
                        foreach $NBNAME (@NODESTAT) {
                                if ($NBNAME =~ /^\s+(.*?)\s+\<20\>\ \-\ \s+.*$/) {
                                        $HOST="$1";
                                        last;
                                }
                        }
                        if ("$HOST" ne "") {
# hole die Liste der Rechner in der Arbeitsgruppe des Masterbrowser
                                chomp(@SHARELIST = `$BINDIR/smbclient -L "$HOST" -N -R wins,bcast`);
                                $pos=0;
                                foreach $SHARE (@SHARELIST) {
                                        if ("$pos" eq "0") {
                                                if ("$SHARE" eq "\tServer               Comment") { $pos=1; } # Beginn der Serverliste gefunden
                                        } elsif ("$pos" eq "1") {
                                                if ("$SHARE" eq "\t---------            -------") { $pos=2; } # Unterstreichung der Serverliste gefunden
                                        } elsif ("$pos" eq "2") {
                                                if ("$SHARE" eq "") { last; } # Ende der Serverlist
                                                if ($SHARE =~ /^\s+(.{15})\s+.*$/) {
                                                        # Name gefunden ... ist nur etwas schwierig vom Kommentar zu trennen,
                                                        #   da im Namen (max. 15 Zeichen) auch Leerzeichen vorkommen koennen :(
                                                        $TMP="$1";
                                                        $TMP =~ /^(.*?)\s*$/;
                                                        push (@SERVER, "$1");
                                                }
                                        }
                                }
                        }
                }
        }
}
if (@SERVER == 0) {
        print "Keine Rechner gefunden :-(\n";
        exit;
}
print "Habe ", scalar(@SERVER), " Rechner gefunden:\n";
foreach $HOST (@SERVER) {
        print "- "$HOST"\n";
}
print "\n";
foreach $HOST (@SERVER) {
        print "Shares auf $HOST:\n";
        chomp(@SHARELIST=`$BINDIR/smbclient -L "$HOST" -N -R wins,bcast`);
        foreach $SHARE (@SHARELIST) {
                if ($SHARE =~ /^\s+(.*?)\s+Disk\s+.*$/) {
                        print "- $1\n";
                }
        }
}


cu - black star8)

__________________
vescere bracis meis

19.06.2002 23:05 Black Star ist offline E-Mail an Black Star senden Homepage von Black Star Beiträge von Black Star suchen
cyb cyb ist männlich
Aufsteiger


images/avatars/avatar-305.jpg

Dabei seit: 08.06.2002
Beiträge: 27
Herkunft: Subraum

      Zum Anfang der Seite springen

hallo, interesse wäre bestimmt da!!! aber nicht jeder weis wie man diese scripte benutzt, von windows her kenne ich batch dateien wo man scripte ablaufen läßt aber wie man mit einen perl und vor allem unter linux umgeht wissen bestimmt nicht sehr viele und ich schon garned!!! aber ich lerne gern dazu unglücklich

gruß cyb

__________________
und aus dem chaos sprach eine stimme, lächle und sei froh,es könnte schlimmer kommen...ich lächelte und war froh...und es kam sehr viel schlimmer ;-))!!!
20.06.2002 19:34 cyb ist offline Homepage von cyb Beiträge von cyb suchen
Black Star Black Star ist männlich
Der Pate [Admin]


images/avatars/avatar-2158.jpg

Dabei seit: 11.12.2001
Beiträge: 2.282
Herkunft: /dev/stderr

Themenstarter Thema begonnen von Black Star
      Zum Anfang der Seite springen

bash (born agein shell) oder gar perl-scripte sind ein bisschen was anderes, als billige batch-scripte.

mit shell-scripten hat man ein mächtiges instrument zur hand. die dinger sind schnell gecodet und leicht zu debugen. die syntax ist zwar gewöhnungsbedürftig, aber extrem mächtig.

perl-scripte sind dann der gipfel, weil sie auch noch netzwerk-aufgaben ausführen können.

ich kann ein 20 zeilen langes perl-script schreiben, dass eine tcp/ip-verbindung hijacked, ohne dass der server was davon mitkriegt.

cu - black star8)

__________________
vescere bracis meis

20.06.2002 19:43 Black Star ist offline E-Mail an Black Star senden Homepage von Black Star Beiträge von Black Star suchen
z|x z|x ist männlich
BlackBoarder


images/avatars/avatar-1188.jpg

Dabei seit: 16.01.2002
Beiträge: 1.031
Herkunft: GöTtInGeN

      Zum Anfang der Seite springen

mal ne Frage an unsern supercoder-Linux-Master..! großes Grinsen
wie lang lernst Du das ganze Zeug schon?.. wieviel sitzt Du täglich an sowas? wann hast Du angefangen?.. etc..
würd mich mal interessieren? Was fürne Distribution benutzt Du?..
greetz faKe$lAsH

__________________
it's nice to be important, but it's more important to be nice

20.06.2002 19:47 z|x ist offline E-Mail an z|x senden Beiträge von z|x suchen
Black Star Black Star ist männlich
Der Pate [Admin]


images/avatars/avatar-2158.jpg

Dabei seit: 11.12.2001
Beiträge: 2.282
Herkunft: /dev/stderr

Themenstarter Thema begonnen von Black Star
      Zum Anfang der Seite springen

mit perl hab ich vor ein paar wochen angefangengroßes Grinsen

shell-scripte schon von anfang an (~2 jahre)

über den daumen gepeilt täglich vielleicht 1,5h

meine distribution ist SuSE 7.3 (was für ne entäuschung, was? kein debian, kein OpenBSD großes Grinsen )

aber man findet wirklich alles, was man braucht im netz. ich hab kein einziges buch.
editor aufgemacht, ne shell, google und ab gehtsgroßes Grinsen

cu - black star8)

__________________
vescere bracis meis

20.06.2002 19:53 Black Star ist offline E-Mail an Black Star senden Homepage von Black Star Beiträge von Black Star suchen
z|x z|x ist männlich
BlackBoarder


images/avatars/avatar-1188.jpg

Dabei seit: 16.01.2002
Beiträge: 1.031
Herkunft: GöTtInGeN

      Zum Anfang der Seite springen

hmm.. cool.. ich will mir auch unbedingt Linux drauf machen (bisher Dual mit 98SE und 2k).. ma sehn wo ich Suse 8.0 herbekomme.. (hab ISDN großes Grinsen )..
echt.. hätte wirklich erwartet. dass Du sowas wie Debian verwendest.. so kann man sich täuschen.. großes Grinsen
was sagst Du zu Suse 8.0?
greetz faKe$lAsH

__________________
it's nice to be important, but it's more important to be nice

21.06.2002 12:43 z|x ist offline E-Mail an z|x senden Beiträge von z|x suchen
gandalf gandalf ist männlich
der mit ohne


images/avatars/avatar-1933.gif

Dabei seit: 06.01.2002
Beiträge: 2.099
Herkunft: Mittelerde

      Zum Anfang der Seite springen

Kriegen tust Du es von SuSE selbst oder sonst

www.linuxiso.org

und ich persönlich finde es gut. Für die die es gerne grafisch haben, die können alles grafisch konfigurieren und die anderen können editieren.
Und man findet jede Menge Material dazu im Netz.

Gruss

gandalf

__________________
großes Grinsen Kein Mensch ist unnütz, er kann immer noch als schlechtes Vorbild dienen großes Grinsen

21.06.2002 16:04 gandalf ist offline E-Mail an gandalf senden Beiträge von gandalf suchen
z|x z|x ist männlich
BlackBoarder


images/avatars/avatar-1188.jpg

Dabei seit: 16.01.2002
Beiträge: 1.031
Herkunft: GöTtInGeN

      Zum Anfang der Seite springen

ja.. weiß ich auch, wo ich Suse ausm Netz herbekomme..ICH HABE ABER LEIDER GOTTES ISDN! *heul* großes Grinsen
hmpf.. *chch*
greetz faKe$lASH

__________________
it's nice to be important, but it's more important to be nice

21.06.2002 18:39 z|x ist offline E-Mail an z|x senden Beiträge von z|x suchen
cyb cyb ist männlich
Aufsteiger


images/avatars/avatar-305.jpg

Dabei seit: 08.06.2002
Beiträge: 27
Herkunft: Subraum

      Zum Anfang der Seite springen

hallo blackstar, hab jetzt mal vor mit wsh anzufangen aber ich glaub zum coden bin ich nicht gebohren! kannst du mir sagen wo ich gut deutsche tuts bekomme egal ob SHELL, VBS???

gruß cyb

__________________
und aus dem chaos sprach eine stimme, lächle und sei froh,es könnte schlimmer kommen...ich lächelte und war froh...und es kam sehr viel schlimmer ;-))!!!
21.06.2002 23:11 cyb ist offline Homepage von cyb Beiträge von cyb suchen
gandalf gandalf ist männlich
der mit ohne


images/avatars/avatar-1933.gif

Dabei seit: 06.01.2002
Beiträge: 2.099
Herkunft: Mittelerde

      Zum Anfang der Seite springen

@ FaKe$lAsH

Wenn ich mich richtig erinnere bist Du ja noch Schüler, SuSE verkauft ja die Software auch und für Schüler gibt es das ganze ja mit speziellem Rabatt, und der ist glaube ich ziemlich grosszügig. Da stellt sich doch die Frage ob Du es nicht kaufen willst, dann hättest Du auch gleich die Handbücher dabei.

Gruss

gandalf

__________________
großes Grinsen Kein Mensch ist unnütz, er kann immer noch als schlechtes Vorbild dienen großes Grinsen

22.06.2002 01:12 gandalf ist offline E-Mail an gandalf senden Beiträge von gandalf suchen
z|x z|x ist männlich
BlackBoarder


images/avatars/avatar-1188.jpg

Dabei seit: 16.01.2002
Beiträge: 1.031
Herkunft: GöTtInGeN

      Zum Anfang der Seite springen

Thx @ gandalf..
hab mal geschaut.. die Campus-Edition kostet ca. 49€.. mal sehn vielleicht wünsch ich mir das ja zum Geburtstag großes Grinsen ..
greetz faKe$lAsH

__________________
it's nice to be important, but it's more important to be nice

22.06.2002 17:03 z|x ist offline E-Mail an z|x senden Beiträge von z|x suchen
Andy Andy ist männlich
BlackBoarder


Dabei seit: 21.10.2001
Beiträge: 576

      Zum Anfang der Seite springen

Mein Päkchen (SuSE Linux 8.0 Prof. Campus) ist vorgestern gekommen smile ) Hab schnell meine Partitionen geändert sodass ich WinXP mitbenutzen kann und schon konnte es losgehn, ist wirklich SUPER einfach zu installieren und zu Konfigureren, bin grad dabei die Handbücher durchzublättern und auszuprobieren...

ups... das Theme sind Skripte?!

sorry ich glaub mein Gedanken sind mit mir durchgegangen unglücklich
bin auch schon zulange wach, werd mich mal aufs Ohr hauen... Augen rollen

Cya Lupus

---
Edit:
Ein Paar kleine Rechtschreibfehler Augen rollen

Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Andy: 29.06.2002 05:12.

29.06.2002 05:09 Andy ist offline Beiträge von Andy suchen
Baumstruktur | Brettstruktur
Gehe zu:
Neues Thema erstellen Antwort erstellen
BlackBoard » Computerecke » Betriebssysteme » Linux scriptecke

Forensoftware: Burning Board 2.3.6, entwickelt von WoltLab GmbH