Welche Prozesse verwenden, welche Ports auf Unix?
-
02-07-2019 - |
Frage
Ich brauche, um herauszufinden, welche Ports sind an die auf einem Unix-Rechner (HP Itanium) verarbeitet. Leider ist lsof
nicht installiert und ich habe keine Möglichkeit, es zu installieren.
Kennt jemand eine alternative Methode? Eine ziemlich lange googeln Sitzung ist nichts aufgedreht.
Lösung
Unter der Annahme, dies HP-UX? Was ist mit dem Ptools - Sie haben Sie diejenigen installiert? Wenn ja Sie „pfiles“ zu finden, die Ports in Verwendung durch die Anwendung verwenden können:
pfiles druckt Informationen über alle geöffneten Dateibeschreibungen eines Prozesses. Wenn Dateideskriptor in einer Datei entspricht, dann Pfiles druckt die fstat (2) und fcntl (2) Informationen.
Wenn der Dateideskriptor an eine Steckdose entspricht, Pfiles dann druckt Buchse verwandte Informationen, wie der Socket-Typ, Buchse Familie und Protokollfamilie.
Im Fall von AF_INET und AF_INET6 Familie von Steckdosen, die Informationen über die Peer-Host wird auch gedruckt.
für f in $ (ps -Ex | awk '{print $ 1}'); do echo $ f; pfiles $ f | grep portnum; getan
Schalter PortNum für die Portnummer. :) kann Kind pid sein, aber bekommt man nahe genug, um das Problem App zu identifizieren.
Andere Tipps
netstat -l (vorausgesetzt, es kommt mit dieser Version von UNIX)
Da (fast) alles auf Unix ist eine Datei, und lsof Listen geöffneter Dateien ...
Linux: netstat -putan or lsof | grep TCP
OSX: lsof | grep TCP
Andere Unixen: lsof
Art und Weise ...
netstat -pln
EDIT:. Linux nur auf anderen UNIX-Varianten netstat nicht all diese Optionen unterstützen kann
netstat -ln | awk '/^(tcp|udp)/ { split($4, a, /:/); print $1, a[2]}' | sort -u
gibt Ihnen die aktiven TCP / UDP-Ports. Dann können Sie die Ports mit fuser -n tcp
oder fuser -n udp
, als root verwenden, und unter der Annahme, dass fuser
ist GNU Fixiereinheit oder hat ähnliche Optionen.
Wenn Sie weitere Hilfe benötigen, lassen Sie es mich wissen.
Versuchen pfiles PID
alle offenen Dateien für einen Prozess zeigen.
Welcher Prozess verwendet Port in Unix;
1. netstat -Aan | grep Port
root> netstat -Aan | grep 3872
Ausgang> f1000e000bb5c3b8 tcp 0 0 * 0,3872 . LISTEN
2. rmsock f1000e000bb5c3b8 tcpcb
Ausgang> Die Buchse wird durch 0xf1000e000bb5c008 Proccess 13.959.354 (Java) gehalten wird.
3. ps -ef | grep 13959354
Ich verwende diesen Befehl ein:
netstat -tulpn | grep LISTEN
Sie können einen sauberen Ausgang haben, der Prozess-ID und Ports zeigt, die auf
zuhörtWenn Sie wissen wollen, alle hören Ports zusammen mit seinen Details : lokale Adresse, fremde Adresse und Zustand sowie Prozess-ID (PID). Sie können folgenden Befehl für sie in Linux verwendet werden.
netstat -tulpn