GNU/Linux >> Belajar Linux >  >> Linux

Busybox, netstat, no -p

Solusi 1:

Anda dapat menemukan informasi yang setara dalam bentuk yang sedikit lebih jelek (a.k.a. heksadesimal) di /proc/net/tcp . Di sana, Anda dapat menemukan inode koneksi, yang dapat Anda cari di bawah /proc/$pid/fd/ .

Misalnya:

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

(Dalam netstat normal, tetapi tidak dalam netstat busybox, -e opsi juga memberi Anda informasi tambahan itu.)

Anda dapat menemukan proses yang sesuai dengan inode dengan perintah berikut:

# 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]

Anda memerlukan akses root untuk langkah kedua.

Tidak senyaman -p opsi, jelas, tetapi bekerja dalam ikatan. Bisa dibuat skrip, jika perlu.

Solusi 2:

Ini mungkin tidak membantu, jika Anda tidak memiliki kesempatan untuk membangun kembali Busybox, tetapi jika ini membantu siapa pun...

Busybox memiliki opsi konfigurasi untuk mendukung -p beralih dari Busybox netstat . Lihat opsi CONFIG_FEATURE_NETSTAT_PRG , dipilih di busybox menuconfig melalui Networking Utilities → netstat → Enable PID/Program name output .


Linux
  1. 10 contoh dasar perintah Linux Netstat

  2. Perintah netstat Linux

  3. bash:netstat:perintah tidak ditemukan.

  1. Periksa port mendengarkan dengan netstat

  2. UNIX / Linux:10 Contoh Perintah Netstat

  3. netstat:perintah tidak ditemukan

  1. cara menggunakan netstat pada port tertentu di Linux

  2. Kesulitan membuat switch_root busybox berfungsi

  3. Membuat dan mengontrol skrip start up di BusyBox