我的DreamBox上有一个超老(不要问为什么)BusyBox(BusyBox v1.01(2008.12.19-21:31 0000)内置
shell(灰)).我想找出哪个进程使用netstat打开哪个连接.但我发现BusyBox的netstat不包含-p选项.我有什么其他可能性来找出哪个进程已打开(并正在使用)相应的套接字?
解决方法
您可以在/ proc / net / tcp中以稍微丑陋的形式(a.k.a.十六进制)找到等效信息.在那里,你可以找到连接的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选项还为您提供了额外的信息.)
和
$sudo ls -l /proc/2560/fd ... lrwx------ 1 root root 64 7 jan 22.50 3 -> socket:[6115]
您需要第二步的root访问权限.
显然,不如-p选项方便,但在绑定中工作.如有必要,可以编写脚本.