GNU/Linux >> Linux Esercitazione >  >> Linux

Busybox, netstat, no -p

Soluzione 1:

Puoi trovare le informazioni equivalenti in una forma leggermente più brutta (ovvero esadecimale) in /proc/net/tcp . Lì puoi trovare l'inode della connessione, che puoi cercare sotto /proc/$pid/fd/ .

Ad esempio:

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

(Nel normale netstat, ma non in busybox netstat, il -e l'opzione fornisce anche queste informazioni extra.)

Puoi trovare il processo che corrisponde all'inode con il seguente comando:

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

Hai bisogno dell'accesso root per il secondo passaggio.

Non conveniente come il -p opzione, ovviamente, ma funziona in una situazione di stallo. Potrebbe essere programmato, se necessario.

Soluzione 2:

Questo potrebbe non essere d'aiuto, se non hai l'opportunità di ricostruire Busybox, ma nel caso in cui aiuti qualcuno...

Busybox ha un'opzione di configurazione per supportare il -p interruttore di Busybox netstat . Vedere l'opzione CONFIG_FEATURE_NETSTAT_PRG , selezionato in busybox menuconfig tramite Networking Utilities → netstat → Enable PID/Program name output .


Linux
  1. comando netstat di Linux

  2. Esempi di comandi netstat in Linux

  3. netstat:comando non trovato

  4. Come interpretare l'output di netstat -o / netstat --timer

  5. convertire file di testo di bit in file binario

Cos'è BusyBox in Linux? Come usarlo?

differenza tra netstat e ss in linux?

come utilizzare netstat su una porta specifica in Linux

Crea e controlla gli script di avvio in BusyBox

alternativa a netstat -s

Qual è la shell predefinita di Busybox?