ss -lnptu disalurkan ke awk dengan panggilan ke ps -p. Saya menggunakan perangkat seluler, jadi agak sulit untuk mengetikkan contoh lengkap saat ini.
Soket Mendengarkan:
ss -lnptu | awk 'NR>1 { split($7,p,","); printf "Listen: "$5 " Command: "; system("ps --no-headers -o args p "p[2]); }'
Semua Soket (kemungkinan memerlukan beberapa pemfilteran tambahan karena soket tanpa informasi proses dalam TIME_WAIT, dll):
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]); }'
Saya mendapatkan error dari ps
di Ubuntu 16.04 saat menggunakan jawaban Mark Sturgill apa adanya. Diperlukan sedikit modifikasi untuk membuatnya berfungsi:pada dasarnya menambahkan split
tambahan untuk lebih mengisolasi PID numerik dari format gabungan ss
kembali (mis. pid=1306 -> 1306
). Saya juga menambahkan -ww
flag untuk membuat ps menghasilkan argumen penuh:
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]); }'
Bagaimana saya bisa menemukan jumlah total koneksi TCP untuk port tertentu dan periode waktu berdasarkan IP?
Linux rdesktop ERROR recv Connection reset by peer