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

Busybox、netstat、no -p

解決策 1:

/proc/net/tcp には、やや醜い形式 (別名 16 進数) の同等の情報があります。 .そこに接続の inode があり、/proc/$pid/fd/ の下で検索できます。 .

例:

$ cat /proc/net/tcp
sl  local_address rem_address   st tx_queue rx_queue tr tm->when retrnsmt   uid  timeout inode
 0: 00000000:0016 00000000:0000 0A 00000000:00000000 00:00000000 00000000     0        0 6115 1 f5adc4c0 300 0 0 2 -1
...

(通常の netstat では、busybox netstat ではなく、-e オプションも追加情報を提供します。)

次のコマンドを使用して、inode に対応するプロセスを見つけることができます:

# for x in $(find /proc/ | grep /fd/); do ls -la $x 2>/dev/null done | grep 6115
...
lrwx------ 1 root root 64  7 jan 22.50 /proc/2560/fd/3 -> socket:[6115]

2 番目のステップには root アクセスが必要です。

-pほど便利ではない オプション、明らかに、バインドで動作します。必要に応じて、スクリプト化できます。

解決策 2:

Busybox を再構築する機会がない場合、これは役に立たないかもしれませんが、誰かの役に立てば...

Busybox には -p をサポートする設定オプションがあります Busybox netstat のスイッチ .オプション CONFIG_FEATURE_NETSTAT_PRG を参照 Networking Utilities → netstat → Enable PID/Program name output を介して、busybox menuconfig で選択 .


Linux
  1. Linuxnetstatコマンド

  2. bash:netstat:コマンドが見つかりません。

  3. netstatでリスニングポートを確認する

  1. UNIX / Linux:10 の Netstat コマンドの例

  2. netstat:コマンドが見つかりません

  3. netstat -o / netstat --timers の出力を解釈する方法

  1. Linux の特定のポートで netstat を使用する方法

  2. busybox switch_root が機能しない問題

  3. BusyBox で起動スクリプトを作成および制御する