
Ich habe mir die netstat
Ausgabe auf einem MacBook angesehen. Dabei ist mir aufgefallen, dass Sie bei einigen Anwendungen angeben können, welcher Port verwendet wird. Dies ist beispielsweise mit utorrent
möglich. Ich habe den Port 55743 gewählt netstat | grep 55743
und dann ausgeführt. Die Ausgabe war die folgende.
udp6 0 0 *.55743 *.*
udp4 0 0 *.55743 *.*
Wenn ich beende, utorrent
wird 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 -i
gibt Ihnen dieser Freund einen Snapshot der aktuellen Socket-Verbindungen/Operationen. Leider netstat
wird diese Funktion unter OS X nicht unterstützt.
Weitere Optionen sind:
Activity Monitor.app
ermö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