Hallo Liste. Gibt es eine Möglichkeit festzustellen, wieviele Verbindungen auf einen Port bestehen? Also zB Wieviele Verbindungen gehen zur Zeit auf Port 25 ein? Wieviele Verbindungen sind derzeit per ssh eingeloggt? Wieviele Leute fragen im gegebenen Moment die Uhrzeit auf 123/udp ab? usw. Danke für Tips! -- Andre Tann --------------------------------------------------------------------- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am Mittwoch, 15. November 2006 10:45 schrieb Andre Tann:
Gibt es eine Möglichkeit festzustellen, wieviele Verbindungen auf einen Port bestehen? Also zB
Wieviele Verbindungen gehen zur Zeit auf Port 25 ein? Wieviele Verbindungen sind derzeit per ssh eingeloggt? Wieviele Leute fragen im gegebenen Moment die Uhrzeit auf 123/udp ab?
Das müsste mit IPTABLES zu machen sein. Bye Michael -- Money is better than poverty, if only for financial reasons. _____________________________________________________________________________ http://macbyte.info/ http://dattuxi.de/ Registered Linux User #228306 Linux 2.6.18-1.2849.fc6 ICQ #151172379 --------------------------------------------------------------------- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Andre Tann wrote:
Hallo Liste.
Gibt es eine Möglichkeit festzustellen, wieviele Verbindungen auf einen Port bestehen? Also zB
Wieviele Verbindungen gehen zur Zeit auf Port 25 ein? Wieviele Verbindungen sind derzeit per ssh eingeloggt? Wieviele Leute fragen im gegebenen Moment die Uhrzeit auf 123/udp ab?
Hatten wir das nicht vor kurzem schon mal? mail_con_count=`netstat -ant | grep :25 | grep -i established| wc -l` ssh_con_count=`netstat -ant | grep :22 | grep -i established| wc -l` ntp_con_count=`netstat -anu | grep :123 | grep -i established| wc -l` echo -e "Aktive Verbindungen:" echo -e "SMTP:\t$mail_con_count" echo -e "SSH:\t$ssh_con_count" echo -e "NTP:\t$ntp_con_count" Sandy -- Antworten bitte nur in die Mailingliste! PMs bitte an: news-reply2 (@) japantest (.) homelinux (.) com --------------------------------------------------------------------- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Sandy Drobic, Mittwoch, 15. November 2006 11:19:
Hatten wir das nicht vor kurzem schon mal?
Mag sein, ich kann mich nicht erinnern.
ntp_con_count=`netstat -anu | grep :123 | grep -i established \ | wc -l
Das funktioniert bei mir nicht (10.0). filesrv:~ # netstat -anu Aktive Internetverbindungen (Server und stehende Verbindungen) Proto Recv-Q Send-Q Local Address Foreign Address State udp 0 0 0.0.0.0:32768 0.0.0.0:* udp 0 0 0.0.0.0:2049 0.0.0.0:* udp 0 0 192.168.66.252:53 0.0.0.0:* udp 0 0 192.168.166.252:53 0.0.0.0:* udp 0 0 127.0.0.1:53 0.0.0.0:* udp 0 0 0.0.0.0:693 0.0.0.0:* udp 0 0 0.0.0.0:67 0.0.0.0:* udp 0 0 0.0.0.0:111 0.0.0.0:* udp 0 0 192.168.66.252:123 0.0.0.0:* udp 0 0 192.168.166.252:123 0.0.0.0:* udp 0 0 127.0.0.1:123 0.0.0.0:* udp 0 0 0.0.0.0:123 0.0.0.0:* udp 0 0 :::32770 :::* udp 0 0 :::123 :::* Mit iftop sehe ich aber, daß mindestens 50 verschiedene Rechner auf dem ntp drauf sind. Obiger Liste nach wären es ja nur zwei. -- Andre Tann --------------------------------------------------------------------- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Andre Tann wrote:
Sandy Drobic, Mittwoch, 15. November 2006 11:19:
Hatten wir das nicht vor kurzem schon mal?
Mag sein, ich kann mich nicht erinnern.
ntp_con_count=`netstat -anu | grep :123 | grep -i established \ | wc -l
Das funktioniert bei mir nicht (10.0).
filesrv:~ # netstat -anu Aktive Internetverbindungen (Server und stehende Verbindungen) Proto Recv-Q Send-Q Local Address Foreign Address State udp 0 0 0.0.0.0:32768 0.0.0.0:* udp 0 0 0.0.0.0:2049 0.0.0.0:* udp 0 0 192.168.66.252:53 0.0.0.0:* udp 0 0 192.168.166.252:53 0.0.0.0:* udp 0 0 127.0.0.1:53 0.0.0.0:* udp 0 0 0.0.0.0:693 0.0.0.0:* udp 0 0 0.0.0.0:67 0.0.0.0:* udp 0 0 0.0.0.0:111 0.0.0.0:* udp 0 0 192.168.66.252:123 0.0.0.0:* udp 0 0 192.168.166.252:123 0.0.0.0:* udp 0 0 127.0.0.1:123 0.0.0.0:* udp 0 0 0.0.0.0:123 0.0.0.0:* udp 0 0 :::32770 :::* udp 0 0 :::123 :::*
Laut dieser Anzeige hast du keine UDP-Verbindungen. Was hier steht, sind nur die Dienste, die lauschen. Bestehende Verbindungen würden mit "ESTABLISHED" angezeigt werden. Hier ein Beispiel für tcp: tcp 0 0 192.168.0.50:25 66.35.250.225:53107 TIME_WAIT tcp 0 0 192.168.0.50:3551 192.168.0.1:32894 TIME_WAIT tcp 0 0 192.168.0.50:3551 192.168.0.1:32895 TIME_WAIT tcp 0 0 192.168.0.50:3551 192.168.0.1:32892 TIME_WAIT tcp 0 0 192.168.0.50:3551 192.168.0.1:32893 TIME_WAIT tcp 0 212 192.168.0.50:22 192.168.0.5:1139 ESTABLISHED tcp 0 0 192.168.0.50:3551 192.168.0.1:32891 TIME_WAIT tcp 0 1 192.168.0.50:32836 80.190.143.236:80 SYN_SENT tcp 0 0 127.0.0.1:10025 127.0.0.1:32853 TIME_WAIT tcp 0 0 127.0.0.1:10024 127.0.0.1:32856 ESTABLISHED tcp 0 0 127.0.0.1:32856 127.0.0.1:10024 ESTABLISHED tcp 0 0 192.168.0.50:32824 192.168.0.5:6666 ESTABLISHED tcp 0 0 192.168.0.50:3551 192.168.0.1:32896 TIME_WAIT tcp 0 0 192.168.0.50:993 192.168.0.5:1253 ESTABLISHED tcp 0 0 192.168.0.50:993 192.168.0.5:1249 ESTABLISHED tcp 0 0 192.168.0.50:993 192.168.0.5:1246 ESTABLISHED tcp 0 0 192.168.0.50:993 192.168.0.5:1247 ESTABLISHED tcp 0 0 192.168.0.50:25 168.100.1.3:60678 TIME_WAIT Bestehende Verbindungen sind nur die "ESTABLISHED", Verbindungen, die gerade abgebaut werden mit "TIME_WAIT".
Mit iftop sehe ich aber, daß mindestens 50 verschiedene Rechner auf dem ntp drauf sind. Obiger Liste nach wären es ja nur zwei.
Laut der liste wäre es keiner, denn es ist kein remote host verbunden. Wie sieht denn deine tcp Ansicht aus? Sandy -- Antworten bitte nur in die Mailingliste! PMs bitte an: news-reply2 (@) japantest (.) homelinux (.) com -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
* On Wed, Nov 15, 2006 at 02:26 PM (+0100), Andre Tann wrote:
Sandy Drobic, Mittwoch, 15. November 2006 11:19:
Hatten wir das nicht vor kurzem schon mal?
Mag sein, ich kann mich nicht erinnern.
Siehe den Thread "Postfix - Current Connections" [1].
ntp_con_count=`netstat -anu | grep :123 | grep -i established \ | wc -l
Das funktioniert bei mir nicht (10.0).
Das dürfte am UDP liegen. Da gibt's ja keine Verbindungen, also auch kein "established"...
filesrv:~ # netstat -anu Aktive Internetverbindungen (Server und stehende Verbindungen) Proto Recv-Q Send-Q Local Address Foreign Address State udp 0 0 0.0.0.0:32768 0.0.0.0:* udp 0 0 0.0.0.0:2049 0.0.0.0:* udp 0 0 192.168.66.252:53 0.0.0.0:* udp 0 0 192.168.166.252:53 0.0.0.0:* udp 0 0 127.0.0.1:53 0.0.0.0:* udp 0 0 0.0.0.0:693 0.0.0.0:* udp 0 0 0.0.0.0:67 0.0.0.0:* udp 0 0 0.0.0.0:111 0.0.0.0:* udp 0 0 192.168.66.252:123 0.0.0.0:* udp 0 0 192.168.166.252:123 0.0.0.0:* udp 0 0 127.0.0.1:123 0.0.0.0:* udp 0 0 0.0.0.0:123 0.0.0.0:* udp 0 0 :::32770 :::* udp 0 0 :::123 :::*
Mit iftop sehe ich aber, daß mindestens 50 verschiedene Rechner auf dem ntp drauf sind. Obiger Liste nach wären es ja nur zwei.
...und daher gibt es im Falle von UDP auch keine Möglichkeit, dass Dir "netstat" anzeigt, wer gerade "verbunden" ist. Denn es gibt ja eben gerade keinen Zustand "verbunden". "netstat" zählt dann darüber hinaus auch nicht mit, wer vor einiger Zeit mal Datagramme an einen bestimmten UDP-basierenden Service ge- schickt hat oder welche von ihm empfangen hat. Daher siehst Du hier auch nicht "mehr Zeilen" auf Port 123, sondern lediglich zwei Stück, weil eben auf den beiden IP-Adressen (also "192.168.66.252" und "192.168.166.252") auf hereinkommende Data- gramme für Port 123 gelauscht wird. Machbar wäre vielleicht z.B.: - Logfiles des NTP-Dämons evtl. mit höherem Loglevel betreiben und daraus z.B. auslesen, was in der letzten Minute los war. - Evtl. mit "iptables" eine Regel setzen, die auf hereinkommende (und evtl. abgehende) UDP-Pakete dieses Ports matcht und Logs pro- duziert. Diese dann auswerten. Gruß, Steffen [1] http://lists.opensuse.org/opensuse-de/2006-11/msg00142.html -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am Wednesday 15 November 2006 20:09 schrieb Steffen Moser:
* On Wed, Nov 15, 2006 at 02:26 PM (+0100), Andre Tann wrote:
Sandy Drobic, Mittwoch, 15. November 2006 11:19:
Hatten wir das nicht vor kurzem schon mal?
Mag sein, ich kann mich nicht erinnern.
Siehe den Thread "Postfix - Current Connections" [1].
ntp_con_count=`netstat -anu | grep :123 | grep -i established \
| wc -l
Das funktioniert bei mir nicht (10.0).
Das dürfte am UDP liegen. Da gibt's ja keine Verbindungen, also auch kein "established"...
Auch da gibt es connection tracking. (NEW, ESTABLISHED..), ebenso für ICMP, usw. # cat /proc/net/ip_conntrack | grep udp Bei Auswertung die verschiedenen Verfallszeiten der Protokolle beachten, -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo Thomas, Thomas Winter, Donnerstag, 16. November 2006 23:29:
Auch da gibt es connection tracking. (NEW, ESTABLISHED..), ebenso für ICMP, usw.
# cat /proc/net/ip_conntrack | grep udp
Bei Auswertung die verschiedenen Verfallszeiten der Protokolle beachten,
Das funktioniert super, danke. Auf die genaue Zahl kommt es nicht an, sodaß ich die Verfallszeiten unberückichtigt lassen kann. Was ich nur wissen muß ist, ob es 10, 100 oder 1000 Verbindungen sind. Und das kriege ich so raus. Danke und Gruß. -- Andre Tann -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am Wednesday 15 November 2006 11:19 schrieb Sandy Drobic:
Gibt es eine Möglichkeit festzustellen, wieviele Verbindungen auf einen Port bestehen? Also zB
Wieviele Verbindungen gehen zur Zeit auf Port 25 ein? Wieviele Verbindungen sind derzeit per ssh eingeloggt? Wieviele Leute fragen im gegebenen Moment die Uhrzeit auf 123/udp ab?
Hatten wir das nicht vor kurzem schon mal?
mail_con_count=`netstat -ant | grep :25 | grep -i established| wc -l`
Das zählt auch ausgehende Verbindungen und Ports wie 2525 oder sowas. # netstat -ant|sed -n '/^tcp\s*\d*\s*\d*\s*[^\s]*:25\s.*ESTABLISHED/p'|wc -l Dürfte das machen. Da muss man natürlich auch noch auf Übersetzungen achten. Evtl. noch ein LANG=C vorneweg.
ssh_con_count=`netstat -ant | grep :22 | grep -i established| wc -l`
Dort selbiges.
ntp_con_count=`netstat -anu | grep :123 | grep -i established| wc -l`
Dass es keine udp-Verbindungen (established) gibt, hat schon jemand erwähnt.
echo -e "Aktive Verbindungen:" echo -e "SMTP:\t$mail_con_count" echo -e "SSH:\t$ssh_con_count" echo -e "NTP:\t$ntp_con_count"
-- Andreas -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo, Am Fre, 17 Nov 2006, Andreas Winkelmann schrieb:
# netstat -ant|sed -n '/^tcp\s*\d*\s*\d*\s*[^\s]*:25\s.*ESTABLISHED/p'|wc -l ^^^^^^ Das \s, \d usw. sind keine POSIX-REs sondern perlre.
$ echo -e 'abc\na b\n123' | sed -n '/\s/p;/\d/p;' $ Siehe: man 7 regex -dnh -- It is impossible to make anything foolproof because fools are so ingenious. -- from the fortune file -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am Friday 17 November 2006 23:35 schrieb David Haller:
# netstat -ant|sed -n '/^tcp\s*\d*\s*\d*\s*[^\s]*:25\s.*ESTABLISHED/p'|wc -l
^^^^^^ Das \s, \d usw. sind keine POSIX-REs sondern perlre.
Ja, da hast Du recht. Es funktioniert aber auf halbwegs aktuellen Systemen. Und ich war zu faul für "[ \t]" oder. "[0-9]" oder noch schlimmeres. Abgesehen davon, wieso sollte man nicht neue Funktionen, die neuere Programmversionen mitbringen auch nutzen?
Siehe: man 7 regex
Hmm: $ man sed ... SEE ALSO ... perlre(1), ... Also: $ man 1 perlre ;-) -- Andreas -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo, [Zitate passend umsortiert] Am Sam, 18 Nov 2006, Andreas Winkelmann schrieb:
Am Friday 17 November 2006 23:35 schrieb David Haller:
# netstat -ant|sed -n '/^tcp\s*\d*\s*\d*\s*[^\s]*:25\s.*ESTABLISHED/p'|wc -l
^^^^^^ Das \s, \d usw. sind keine POSIX-REs sondern perlre.
Ja, da hast Du recht. Es funktioniert aber auf halbwegs aktuellen Systemen. Und ich war zu faul für "[ \t]" oder. "[0-9]" oder noch schlimmeres.
Solche (neuen!!) GNUismen zaehlen nicht! Ausserdem: deine RE kollabiert eh zu nix. Schauen wir doch mal: \s* 0 oder mehr Space \d* 0 oder mehr Zahlen \s* 0 oder mehr Space \d* 0 oder mehr Zahlen \s* 0 oder mehr Space [^\s]* 0 oder mehr ! Space Kurz: 0 oder mehr Zahlen und Spaces und nicht-Spaces. Also 0 oder irknwas. Also egal. Dein Muster wird erst durch den Einsatz von '+' (ggfs. mit '\' davor) sinnvoll. Ok, durch die Reihenfolge der Typen fischst du evtl. (zufaellig?) doch das Richtige raus, sinnvoll ist die RE dennoch nicht sonderlich (s.u.). POSIX/SUS konform, mit Zeichenklassen: | sed -n '/^tcp[[:space:]]\+.*[^[:space:]]\+:25[[:space:]]\+ESTABLISHED/p' Traditionell (ohne \+ und ohne POSIX-Zeichenklassen), laeuft ueberall: | sed -n '/^tcp[ ][ ]*.*[^ ][^ ]*:25[ ][ ]*ESTABLISHED/p' In den [] steht jew. ein Space und ein Tab. Oder wolltest du nur auf die "Foreign Adress" filtern? Wie waere es mit: | sed -n '/^tcp[^:]*:[^:]*:25[ ][ ]*ESTABLISHED/p' Oder noch einfacher (und laeuft ueberall, wo's ein awk gibt): netstat -ant | awk '$5 ~ /:25$/{print;}' Und was lernen wird daraus? "Know thy tools!" Die awk Variante ist IMO mit Abstand am einfachsten :-P
Siehe: man 7 regex
Hmm:
$ man sed ... SEE ALSO ... perlre(1), ...
dh@slarty[3]: ~ (0)$ man -7 sed | grep perl Reformatting sed(1), please wait... dh@slarty[3]: ~ (1)$ sed --version | head -n 1 GNU sed version 3.02 dh@slarty[3]: ~ (0)$ ^ Exitcode des vorangegangenen Befehls Achso: 'man 7 regex' muss man so oder so kennen (noch besser: koennen), schon wg. ed, grep und v.a. den vielen anderen Tools die (POSIX-) (Basic|Extended) REs verwenden (procmail, mutt, vi(m), awk, emacs...). AFAIK verwenden auch diverse GUI-Tools (krename, kate, ...?) eben diese RE-Syntax.
Abgesehen davon, wieso sollte man nicht neue Funktionen, die neuere Programmversionen mitbringen auch nutzen?
Weil du damit fast ueberall sonst auf die Fresse fliegst? Wenn _DU_ das verwendest, ok, wenn du weisst wo. Aber in einer Mail (hier und anderswo) sollte ein Hinweis (s.o.) auf GNUismen usw. mit dazu (nach bestem Wissen und Gewissen ;). Wenn du's nicht besser weisst, auch einen wie "evtl. nur mit aktuellem GNU-Dingens unter Linux" o.ae. Denn sowas wie z.B. 'killall irgendwas' hat auf gewissen Systemen "interessante" Effekte (unter Linux kann man den Effekt mit der Tastenkombination "Sysrq+i" oder gar "Sysrq+l" hervorrufen!), eben das zu tun, was der Name aussagt (i.Ggs. zum von Linux gewohnten Verhalten von killall)... Bei anderen Befehlen sind die Auswirkungen meist weniger schlimm, aber ggfs. ebenso unerfreulich (z.B. wenn ein mit $aktuellem-GNU-Dingens unter Linux geschriebenes und getestetes Script $anderswo (Webhoster z.B.) nicht das macht, was es soll)... BTW: Kenn GNU find eigentlich inzwischen die '{}+' Syntax? Da sind z.B. die BSD "find"-Varianten deutlich besser (bei GNU muss man stattdessen '-print0 | xargs -r -0' verwenden, was auch wieder Probleme machen kann)... HTH, HAND, etc. -dnh PS: Ein Hinweis im OP wie "geht nur mit einem aktuellen(!) GNU sed" etc. laesst mich verstummen... Aber andererseits reite ich einfach ab und an gerne auf solchen Details herum. -- "Ich mach mal den Vollquottel Wegen verglkeich!" [Woko° in dag°] -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
participants (7)
-
Andre Tann
-
Andreas Winkelmann
-
David Haller
-
Michael Raab
-
Sandy Drobic
-
Steffen Moser
-
Thomas Winter