Ich verwende einige Server-Daemons, die udp verwenden, um mit einer großen Anzahl von Clients zu kommunizieren. Wie finde und liste ich alle aktiven udp- "Verbindungen" auf , die mit den Servern kommunizieren, um die Anzahl der aktiven Clients zu schätzen, die mit den Server-Daemons verbunden sind? Ich konnte mir keinen einfachen Weg vorstellen, dies zu tun, außer die Pakete mit tshark oder tcpdump zu schnüffeln und die Quell-IP von udp-Paketen zu sehen, die an die Server-Daemons gehen, und ja, ich weiß, dass UDP ein verbindungsloses und zustandsloses Protokoll ist.
linux
networking
udp
packet-analyzer
Feuerstein
quelle
quelle
sudo lsof -iUDP
Antworten:
UDP ist ein zustandsloses Protokoll - also keine Zustände.
So sehen Sie, was auf UDP wartet:
quelle
Sie können jede UDP-Verbindung mit iptables protokollieren:
Vielleicht möchten Sie es auf einige Ports beschränken. Überprüfen Sie die Dokumentation hier oder vorzugsweise
man iptables
.quelle
Unter Linux können Sie unter der Annahme, dass iproute2 installiert ist, den Befehl ss ausführen , um udp-Sockets wie folgt abzurufen:
Oder alle udp-Sockets mit dem zugehörigen Prozess:
Hier sind zusätzliche Beispiele, die Sie mit ss verwenden können, einschließlich des Abrufs von Verbindungen pro Prozess.
http://www.cyberciti.biz/files/ss.html
quelle
ss
Zeigt nur UDP-Sockets an, keine Verbindung .ss -pa
undss -upa
im Beispiel? Sollte die Hälfte gelöscht werden?Wie andere bereits erwähnt haben, ist UDP verbindungslos, sodass der Status nicht an den Standardpositionen verfolgt wird, die Sie möglicherweise suchen.
Eine Methode, die Sie verwenden können, besteht darin, einfach einige einfache Netzfilterregeln einzurichten, die diese
--state
Option verwenden. Dadurch wird netfilter gezwungen, den Status in Bezug auf UDP zu verfolgen. Sobald Sie Regeln eingerichtet haben, können Sie ein Tool wie conntrack verwenden , um die Netfilter- Statustabelle anzuzeigen . Hier ist zum Beispiel, wie eines meiner Systeme aussieht. Sie können sehen, dass es einige Systeme gibt, die häufig mit udp / 1194 (OpenVPN) kommunizieren.Ihre Netfilter-Regeln könnten so einfach sein.
quelle
Inspiriert von dieser Antwort habe ich festgestellt, dass die folgende
ss
Syntax für mich funktioniert:… Weil "lauschende" UDP-Sockets wie "geschlossene" TCP-Sockets sind.
quelle