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

StackOverflow https://stackoverflow.com/questions/126002

  •  02-07-2019
  •  | 
  •  

質問

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

誰か別の方法を知っていますか?かなり長い時間グーグルで検索しても何も見つかりませんでした。

役に立ちましたか?

解決

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

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

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

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

for f in $(ps -ex | awk '{print $1}');$f をエコーし​​ます。pfiles $ f | Grep Portnum;終わり

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

他のヒント

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

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

リナックス: netstat -putan or lsof | grep TCP

OSX: lsof | grep TCP

その他のユニクセン: lsof 方法...

netstat -pln

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

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

アクティブな tcp/udp ポートが表示されます。その後、次のポートを使用できます fuser -n tcp または fuser -n udp, 、root として、次のように仮定します。 fuser GNU fuser であるか、同様のオプションがあります。

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

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

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

1.netstat -aan |グレップポート

root> netstat -aan | Grep 3872

出力> f1000e000bb5c3b8 tcp 0 0 *.3872 . 聞く

2.rmsock f1000e000bb5c3b8 tcpcb

出力> ソケット 0xf1000e000bb5c008 はプロセス 13959354 (Java) によって保持されています。

3.ps -ef | Grep 13959354

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

netstat -tulpn | grep LISTEN

プロセス ID とリッスンしているポートを示すクリーンな出力が得られます。

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

 netstat -tulpn
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top