GNU/Linux >> Linux の 問題 >  >> Linux

/proc を読み取って、プロセスがポートを開いたかどうかを確認します

<ブロック引用>

たとえば、/proc/$PID/net/tcp ファイルを読み取って、プロセスによって開かれた TCP ポートに関する情報を取得できます。

そのファイルは プロセス によって開かれた TCP ポートのリストではありません .これは、現在のネットワーク名前空間で開いているすべての tcp ポートのリストであり、同じネットワーク名前空間で実行されているプロセスは同一です。 /proc/net/tcp の内容に .

プロセスによって開かれたポートを見つけるには、/proc/<pid>/fd からソケット記述子のリストを取得する必要があります。 、それらの記述子を inode に一致させます /proc/net/tcp のフィールド .


お願いします

cat /proc/$PID/net/tcp

このような出力が得られます

  sl  local_address rem_address   st tx_queue rx_queue tr tm->when retrnsmt   uid  timeout inode
  0: 00000000:01BB 00000000:0000 0A 00000000:00000000 00:00000000 00000000     0        0 2891985097 1 0000000000000000 100 0 0 10 0

出力の 2 列目 (local_address) には、ポートが 16 進数で表示されます。プログラミング電卓を使用して、16 進数コードを 10 進数に変換してください。

たとえば、ここでは、ポート :01BB (16 進数) は、HTTPS の既定のポートである 433 (10 進数) と同じです。


Linux
  1. Unix / Linux でプロセスのパスを取得するにはどうすればよいですか

  2. どの /dev/ttyS* が自分のシリアル ポートかを知るにはどうすればよいですか?

  3. Linux で /proc/$pid/mem から読み取るにはどうすればよいですか?

  1. /proc 内のどのファイルが、起動プロセス中にカーネルによって読み込まれますか?

  2. Linux サーバーがハッキングされたかどうかを知るにはどうすればよいですか?

  3. 推奨される使用方法に従って、Web サイトは /var/ または /usr/ に配置する必要がありますか?

  1. 知っておくべき14の一般的なネットワークポート

  2. Linux –Linuxで/proc / $ pid / memから読み取る方法は?

  3. Linux – / proc/mntを/proc/ mountsにリンクしますか?