組み込みLinuxでは、どのプロセスがどのポートを使用しているかを知りたいです。単純な組み込みLinuxなので、netstat、lsofなどのネットワークコマンドラインはありません。 (cat、cp、echoなどの基本的なコマンドラインのみが存在します。)
解決策の一部は、「cat /proc/net/tcp」および「cat /proc/net/udp」コマンドラインを使用するようです。しかし、このコマンドラインの印刷リストに使用されているすべてのポートが表示されるかどうかはわかりません。とリストには、どのプロセスが特定のポートにバインドされているかは表示されません。。
どんなアドバイスも本当にありがとうございます。
ベストアンサー1
/proc/net/tcp
とで開いているすべてのポートを見つけることができるはずです/proc/net/udp
。各ファイルには、inode
そのソケットを所有するプロセスを見つけるために使用できる列があります。
inode 番号がある場合は、ls コマンドを実行してls -l /proc/*/fd/* | grep socket:.$INODE
そのソケットを使用するプロセスを見つけることができます。プロセスに異なるスレッドに設定された異なるファイル記述子がある場合は、コマンドを展開してすべてのls -l /proc/*/task/*/fd/* | grep socket:.$INODE
ファイル記述子を見つける必要があります。