Busybox, netstat, hayır -p


10

DreamBox'ımda ultra eski (nedenini sorma) BusyBox (BusyBox v1.01 (2008.12.19-21: 31 + 0000) Dahili kabuk (kül) var . Netstat kullanarak hangi bağlantıyı hangi işlemin açtığını öğrenmek istiyorum. Ancak BusyBox'ın netstat'ının -p seçeneğini içermediğini öğrendim . Hangi işlemin ilgili soketi açtığını (ve kullandığını) bulmak için başka hangi olasılıklarım var?


Lsof bu busybox sürümünün bir parçası mı?
Zoredache

Ne yazık ki değil.
a1337q

Yanıtlar:


15

Denk bilgiyi, biraz daha çirkin bir formda (aka onaltılık) bulabilirsiniz /proc/net/tcp. Orada, altından bakabileceğiniz bağlantının inode'unu bulabilirsiniz /proc/$pid/fd/.

Örneğin:

$ 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
...

(Normal netstat'ta, ancak busybox netstat'ta değil, -eseçenek size bu ek bilgileri de verir.)

ve

$ sudo ls -l /proc/2560/fd
...
lrwx------ 1 root root 64  7 jan 22.50 3 -> socket:[6115]

İkinci adım için root erişimine ihtiyacınız var.

-pSeçenek olarak uygun değil , tabii ki, ama bir bağda çalışıyor. Gerekirse komut dosyası yazılabilir.


Kulağa hoş geliyor, ancak netstat'ım olması gerektiği gibi çalışmıyor, -e seçeneğiyle başka bir şey çıkarmıyor . -E ile 6 sütun var : Proto, Recv-Q, Send-Q, Yerel Adres, Yabancı Adres, Durum. Limanlarda bir yol var mı? Limanı görebiliyorum ..
a1337q

Haklısın, sınavlarımı berbat etmeliydim. Size çalışan bir çözüm sunmak için düzenledim.
Peter Eisentraut

2
İkinci komutunuzda yazdığınız "2560" sayısını nasıl buluyorsunuz? Soru bu.
ygoe

1
@ygoe şöyle kullanmak 6115ve kullanmak zorunda:find /proc/ -type l | grep /fd/ | xargs ls -la 2>/dev/null | grep 6115
Sam

3

Busybox'ı yeniden oluşturma fırsatınız yoksa bu yardımcı olmayabilir, ancak kimseye yardımcı olması durumunda ...

Busybox desteklemek için bir yapılandırma seçeneği var -pve anahtarı Busyboxnetstat . CONFIG_FEATURE_NETSTAT_PRGMeşgul kutusu menü yapılandırmasında Ağ Hizmetleri → netstat → PID / Program adı çıkışını etkinleştir yoluyla seçilen seçeneğe bakın .


0

Cihazınız varsa veya sscihazınıza binebilirseniz, size PID'yi de gösterebilir:

ss -ltp # for TCP
ss -lup # for UDP
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.