Anda dapat menggunakan netstat
untuk ini. Lihat contohnya (saya memahami ssh
):
netstat -putan | grep ssh
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1725/sshd
tcp 0 0 1.2.3.4:45734 1.2.3.5:22 ESTABLISHED 2491/ssh
tcp6 0 0 :::22 :::* LISTEN 1725/sshd
Penjelasan:
Saya sering menggunakan parameter -putan
(karena mudah diingat).
-p
:menampilkan PID aplikasi/proses-u
:tampilkan port/koneksi udp-t
:tampilkan tcp port/koneksi-a
:menampilkan soket mendengarkan dan tidak mendengarkan-n
:output numerik (jangan lakukan pencarian DNS untuk nama host, dll.)
Pada keluaran di atas, Anda melihat ada proses daemon ssh (sshd
) dengan PID 1725
mendengarkan di port 22
pada semua antarmuka jaringan (0.0.0.0
). Juga ada proses klien ssh (PID 2491
) terhubung ke alamat IP 1.2.3.5
di nomor port 22
, alamat IP saya adalah 1.2.3.4
dan port eksternal saya adalah 45734
. Anda melihat bahwa koneksi dibuat. Oleh karena itu saya masuk melalui ssh
.
Alat lain yang dapat melakukan ini adalah lsof
:
# lsof -i -a -p 1981
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
sshd 1981 root 3u IPv4 917 0t0 TCP host.example.com:ssh (LISTEN)
# lsof -i -a -p 1981 -n
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
sshd 1981 root 3u IPv4 917 0t0 TCP 10.1.2.3:ssh (LISTEN)
# lsof -i -a -p 1981 -n -P
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
sshd 1981 root 3u IPv4 917 0t0 TCP 10.1.2.3:22 (LISTEN)
#
Opsi yang digunakan adalah sebagai berikut:
-i
untuk mencetak port internet yang dibuka oleh suatu proses-a
untuk menyebabkan semua opsi menjadi AND-ed-p 1981
untuk menampilkan output untuk proses 1981-n
untuk menghambat pencarian nama host dan menampilkan IP sebagai gantinya-P
untuk menghambat pencarian layanan dan sebagai gantinya menampilkan nomor port
lsof
memiliki keuntungan bahwa Anda dapat menentukan proses untuk diperiksa daripada harus mengeluarkannya dari keluaran yang lebih besar. netstat
lebih andal tersedia pada sistem, meskipun lsof
menjadi lebih standar dari sebelumnya.
ss
utilitas dari paket iproute untuk Linux