web-dev-qa-db-ja.com

UNIXのどのポートをどのプロセスが使用していますか?

Unixマシン(HP Itanium)上のどのプロセスにどのポートが接続されているかを調べる必要があります。残念ながら、lsofはインストールされておらず、インストールする方法がありません。

誰かが別の方法を知っていますか?かなり長いグーグルセッションでは何も起きていません。

34
gnuchu

これがHP-UXであると仮定しますか? Ptools についてはどうですか-それらはインストールされていますか?その場合、「pfiles」を使用して、アプリケーションで使用中のポートを見つけることができます。

pfilesは、プロセスの開いているすべてのファイル記述子に関する情報を出力します。ファイル記述子がファイルに対応する場合、pfilesはfstat(2)およびfcntl(2)情報を出力します。

ファイル記述子がソケットに対応する場合、pfilesはソケットタイプ、ソケットファミリー、プロトコルファミリーなどのソケット関連情報を出力します。

AF_INETおよびAF_INET6ソケットファミリの場合、ピアホストに関する情報も出力されます。

for f in $(ps -ex | awk '{print $ 1}'); echo $ f; pfiles $ f | grep PORTNUM;やった

ポート番号のPORTNUMを切り替えます。 :)子pidである可能性がありますが、問題のアプリを特定するのに十分な距離になります。

10
Jay

netstat -l (そのバージョンのUNIXに付属していると仮定)

43
Quentin

UNIX上の(ほとんど)すべてがファイルであり、lsofは開いているファイルをリストします...

Linux:netstat -putan or lsof | grep TCP

OSX:lsof | grep TCP

その他のUnixen:lsof way ...

28
lms
netstat -pln

編集:Linuxのみ、他のUNIXではnetstatはこれらすべてのオプションをサポートしていない場合があります。

13
netstat -ln | awk '/^(tcp|udp)/ { split($4, a, /:/); print $1, a[2]}' | sort -u

アクティブなtcp/udpポートを提供します。次に、fuser -n tcpまたはfuser -n udpでポートをルートとして使用し、fuserがGNU fuserまたは同様のオプションがあると仮定します。

さらにサポートが必要な場合は、お知らせください。

6
tzot

pfiles PIDプロセスに対して開いているすべてのファイルを表示します。

2
dogbane

UNIXでポートを使用するプロセス。

1. netstat -Aan | grepポート

root> netstat -Aan | grep 3872

出力> f1000e000bb5c3b8 tcp 0 0 * .3872 LISTEN

2. rmsock f1000e000bb5c3b8 tcpcb

output>ソケット0xf1000e000bb5c008は、proccess 13959354(Java)によって保持されています。

3. ps -ef | grep 13959354

1

私はこのコマンドを使用します:

netstat -tulpn | grep LISTEN

プロセスIDとリッスンしているポートを示すクリーンな出力を作成できます

0
Linden X. Quan

すべてのリスニングポートとその詳細:ローカルアドレス、外部アドレスと状態、およびプロセスID(PID)を知りたい場合。 Linuxでは次のコマンドを使用できます。

 netstat -tulpn
0
YAP