ss -lnptu reindirizzato ad awk con una chiamata a ps -p. Sono su un dispositivo mobile, quindi al momento è un po' complicato digitare un esempio completo.
Prese di ascolto:
ss -lnptu | awk 'NR>1 { split($7,p,","); printf "Listen: "$5 " Command: "; system("ps --no-headers -o args p "p[2]); }'
Tutti i socket (probabilmente richiederanno alcuni filtri aggiuntivi a causa di socket senza informazioni di processo in TIME_WAIT, ecc.):
ss -anptu state listening state established state connected state unconnected | grep -v TIME_WAIT | awk 'NR>1 { split($7,p,","); printf "Listen: "$5 " Command: "; system("ps --no-headers -o args p "p[2]); }'
Ricevevo errori da ps
su Ubuntu 16.04 quando si utilizza la risposta di Mark Sturgill così com'è. Aveva bisogno di una leggera modifica per farlo funzionare:sostanzialmente aggiunto un split
in più per isolare ulteriormente il PID numerico dal formato unito che ss
restituisce (ad es. pid=1306 -> 1306
). Ho anche aggiunto il -ww
flag per fare in modo che ps emetta gli argomenti completi:
ss -lnptu | awk 'NR>1 { split($7,p,","); split(p[2],pid,"="); printf "Listen: "$5 " Command: "; system("ps --no-headers -ww -o args p "pid[2]); }'