Wie erkenne ich, welche Anwendung welchen Port verwendet?

Wie erkenne ich, welche Anwendung welchen Port verwendet?

Ich habe mir die netstatAusgabe auf einem MacBook angesehen. Dabei ist mir aufgefallen, dass Sie bei einigen Anwendungen angeben können, welcher Port verwendet wird. Dies ist beispielsweise mit utorrentmöglich. Ich habe den Port 55743 gewählt netstat | grep 55743und dann ausgeführt. Die Ausgabe war die folgende.

udp6       0      0  *.55743                *.*
udp4       0      0  *.55743                *.*

Wenn ich beende, utorrentwird der Port freigegeben. Aber wenn ich die Portnummer nicht kenne, wie kann ich dann feststellen, welche Anwendung welchen Port verwendet? Und ist es möglich, dass einige Anwendungen heimlich Ports verwenden, um mit externen Servergeräten zu kommunizieren?

Antwort1

Wie David Houde erwähnte, lsof -igibt Ihnen dieser Freund einen Snapshot der aktuellen Socket-Verbindungen/Operationen. Leider netstatwird diese Funktion unter OS X nicht unterstützt.

Weitere Optionen sind:

Activity Monitor.appermöglicht Ihnen, die von einer Anwendung geöffneten Dateien und Ports anzuzeigen. Dies können Sie tun, indem Sie auf einen Prozess doppelklicken und die Registerkarte „Dateien und Ports öffnen“ öffnen.

Dtrace - auscheckensoconnectSkript, das Ihnen bis zum Beenden (Strg+C) kontinuierlich Informationen über Netzwerkvorgänge liefert. Beispielausgabe:

sudo /tmp/soconnect.d 
PID    PROCESS          FAM ADDRESS          PORT   LAT(us) RESULT
8211   X-Lite           2   192.168.1.109    5060        25 Success
4112   Google Chrome    2   173.194.34.134   443         53 In progress
8211   X-Lite           2   192.168.1.109    5060        30 Success

Eine Anwendung, die mir persönlich sehr gut gefällt, ist Little Snitch, aber es handelt sich dabei um eine kommerzielle Software. Obwohl es sich um eine Desktop-Firewall-Software handelt, verfügt sie über eine Reihe von Funktionen, die für Sie interessant sein könnten:

  • Netzwerkmonitor, der Ihnen anzeigt, welche Anwendungen sich wohin verbinden (ähnlich der Ausgabe von soconnect.d)
  • Erfassen Sie den Netzwerkverkehr pro Anwendung (ähnlich wie bei Wireshark können Sie den Netzwerkverkehr beobachten, ihn jedoch auf eine bestimmte Anwendung beschränken)

Um Ihre zweite Frage zu beantworten: Ja, auf herkömmlichen Betriebssystemen (z. B. OS X, Windows) können Anwendungen auf verschiedene Weise Verbindungen zu Systemen von Drittanbietern herstellen und alles Mögliche senden. Einige Desktop-Firewalls versuchen, dieses Problem zu lösen, indem Sie angeben können, wohin jede Anwendung eine Verbindung herstellen kann, und so eine Art Whitelist erstellen. Wie alles andere in der Sicherheitsbranche ist auch dieser Ansatz nicht ohne Fallstricke.

P.S. Ich habe keine Verbindung zu Anbietern von Desktop-Firewall-Software :)

Antwort2

Sie können dies mit einigen weiteren Netstat-Argumenten oder durch die Verwendung von lsof erreichen:

netstat -lp
lsof -i udp:55743

verwandte Informationen