ss -lnptu převedeno na awk s voláním ps -p. Jsem na mobilním zařízení, takže je v tuto chvíli trochu složitější napsat úplný příklad.
Poslechové zásuvky:
ss -lnptu | awk 'NR>1 { split($7,p,","); printf "Listen: "$5 " Command: "; system("ps --no-headers -o args p "p[2]); }'
Všechny sokety (pravděpodobně budou vyžadovat další filtrování kvůli soketům bez informací o procesu v TIME_WAIT atd.):
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]); }'
Dostával jsem chyby z ps
na Ubuntu 16.04 při použití odpovědi Marka Sturgilla tak, jak je. Potřebuje drobnou úpravu, aby to fungovalo:v podstatě přidán extra split
dále izolovat číselný PID od spojeného formátu, který ss
vrátí (např. pid=1306 -> 1306
). Také jsem přidal -ww
flag, aby ps vypisoval úplné argumenty:
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]); }'
Jak zjistím celkový počet TCP spojení pro daný port a časové období podle IP?
Linux rdesktop ERROR recv Připojení resetováno peerem