Perintah SS Informasi socket jaringan, koneksi dan port di Linux
SS (socket statistics) adalah tools yang dapat digunakan untuk melihat statistik socket jaringan di linux, informasi yang didapat bisa berupa port, state, ip, dan pid.
Pada artikel ini akan membahas perintah ss untuk melakukan investigasi socket jaringan dan koneksi pada sistem Linux. Pada terapan kali ini dijalankan diatas sistem operasi AlmaLinux dimana defaultnya ss sudah ter install dan siap digunakan.
1. List socket koneksi
perintah ss
sendiri tanpa opsi apapun akan menampilan list semua koneksi pada socket jaringan dan status kondisi nya.
# ss
- Netid: tipe socket. contoh, seperti “u_str,” adalah socket Unix stream. Deskripsi lebih lanjut dapat dilihat di Linux socket types.
- State: status State Sokcet, contoh “ESTAB” untuk established, “LISTEN” untuk Listening Port.
- Recv-Q: Jumlah packet yand diterima.
- Send-Q: Jumlah packet yand dikirim.
- Local Address:Port: Alamat dan port lokal.
- Peer Address:Port: Alamat dan port remote.
2. List Semua Port Baik dalam status Listening atau Non-listening
Dengan bantuan opsi -a
, dapat melihat semua listening dan non-listening port.
# ss -a
[root@alma ~]# ss -a
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
nl UNCONN 0 0 rtnl:NetworkManager/788 *
nl UNCONN 0 0 rtnl:kernel *
nl UNCONN 0 0 rtnl:NetworkManager/788 *
nl UNCONN 768 0 tcpdiag:kernel *
nl UNCONN 4352 0 tcpdiag:ss/21285 *
u_str LISTEN 0 4096 /run/.heim_org.h5l.kcm-socket 20334 * 0
u_str LISTEN 0 10 /var/run/mcelog-client 20393 * 0
u_str LISTEN 0 1 /run/irqbalance/irqbalance791.sock 20400 * 0
u_dgr ESTAB 0 0 /run/chrony/chronyd.sock 20443 * 0
u_str ESTAB 0 0 * 20349 * 20348
u_str ESTAB 0 0 * 18919 * 18920
icmp6 UNCONN 0 0 *:ipv6-icmp *:*
udp UNCONN 0 0 127.0.0.1:323 0.0.0.0:*
udp UNCONN 0 0 [::1]:323 [::]:*
tcp LISTEN 0 128 0.0.0.0:ssh 0.0.0.0:*
tcp ESTAB 0 64 192.168.0.72:ssh 192.168.0.90:61726
3. List hanya Listening Port
Untuk menampilkan listening port dapat menggunakan opsi -l
# ss -l
[root@alma ~]# ss -l
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
nl UNCONN 0 0 rtnl:NetworkManager/788 *
nl UNCONN 0 0 rtnl:kernel *
nl UNCONN 0 0 rtnl:NetworkManager/788 *
nl UNCONN 768 0 tcpdiag:kernel *
nl UNCONN 4352 0 tcpdiag:ss/21621 *
nl UNCONN 0 0 xfrm:kernel *
u_str LISTEN 0 4096 /run/.heim_org.h5l.kcm-socket 20334 * 0
u_str LISTEN 0 10 /var/run/mcelog-client 20393 * 0
u_str LISTEN 0 1 /run/irqbalance/irqbalance791.sock 20400 * 0
u_dgr UNCONN 0 0 * 18959 * 0
icmp6 UNCONN 0 0 *:ipv6-icmp *:*
udp UNCONN 0 0 127.0.0.1:323 0.0.0.0:*
udp UNCONN 0 0 [::1]:323 [::]:*
tcp LISTEN 0 128 0.0.0.0:ssh 0.0.0.0:*
tcp LISTEN 0 128 [::]:ssh [::]:*
4. List semua port UDP
untuk melihat semua list dari port UDP kombinasikan opsi -a
dan -u
# ss -au
atau
# ss -a -u
5. List Listening port untuk UDP
Untuk melihat List dari listening port UDP kombinasikan opsi -l
dan -u
# ss -lu
atau
# ss -l -u
[root@alma ~]# ss -lu
State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
UNCONN 0 0 0.0.0.0:snmp 0.0.0.0:*
UNCONN 0 0 127.0.0.1:323 0.0.0.0:*
UNCONN 0 0 [::1]:323 [::]:*
[root@alma ~]#
6. List semua TCP port
Untuk Melihat list semua TCP port bisa kombinasikan opsi -a
dan -t
# ss -at
atau
# ss -a -t
7. List Listening TCP Port
Untuk meliat list listening port dari TCP kombinasikan -l
dan -t
# ss -lt
atau
# ss -l -t
8. List semua socket IPV4
Untuk melihat list socket untuk IP versi 4 kombinasikan opsi -a
dan -4
# ss -a -4
atau
# ss -a4
9. List Socket IPV6
Untuk melihat list socket untuk IP versi 6 kombinasikan opsi -a
dan -6
# ss -a -6
atau
# ss -a6
10. List socket unix
Untuk melihat list sokcet unix gunakan kombinasi opsi -a
dan -x
# ss -ax
atau
# ss -a -x
[root@alma ~]# ss -ax
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
u_dgr UNCONN 0 0 /run/user/0/systemd/notify 23595 * 0
u_str LISTEN 0 4096 /run/user/0/systemd/private 23598 * 0
u_str LISTEN 0 4096 /run/user/0/bus 23608 * 0
u_dgr ESTAB 0 0 /run/systemd/notify 12589 * 0
u_dgr ESTAB 0 0 /run/systemd/journal/dev-log 12602 * 0
u_dgr ESTAB 0 0 /run/systemd/journal/socket 12604 * 0
u_str LISTEN 0 4096 /run/systemd/journal/stdout 12606 * 0
11. List socket koneksi dengan filter port
Sebagai contoh melihat koneksi socket TCP untuk port 80 atau http apache gunakan kombinasi -a
dan -t
diserta filter tujuan atau asal port. '( dport = :port or sport = :port )'
# ss -at '( dport = :80 or sport = :80 )'
atau
# ss -at '( dport = :http or sport = :http )'
12. List semua socket koneksi dengan tujuan ip tertentu
untuk melihat socket yang melayani koneksi ke tujuan tertentu dapat kombinasikan -a
dan dst IP
# ss -a dst 192.168.0.90
atau
# ss -a4 dst 192.168.0.90
[root@alma8 ~]# ss -a dst 192.168.0.90
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
tcp ESTAB 0 64 192.168.0.61:ssh 192.168.0.90:65232
tcp SYN-RECV 0 0 [::ffff:192.168.0.61]:http [::ffff:192.168.0.90]:65441
tcp ESTAB 0 0 [::ffff:192.168.0.61]:http [::ffff:192.168.0.90]:65440
tcp TIME-WAIT 0 0 [::ffff:192.168.0.61]:http [::ffff:192.168.0.90]:65415
13. List Socket koneksi dan PID proses
Dengan ss
bisa juga melihat koneksi socket beseta informasi PID proses, pada contoh berikut menampilan informasi socket TCP dengan PID proses-nya.
# ss -tp
[root@alma8 ~]# ss -tp
State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
ESTAB 0 64 192.168.0.61:ssh 192.168.0.90:65232 users:(("sshd",pid=2214,fd=5),("sshd",pid=2198,fd=5))
ESTAB 0 0 [::ffff:192.168.0.61]:http [::ffff:192.168.0.90]:49290 users:(("httpd",pid=2292,fd=28))
ESTAB 0 0 [::ffff:192.168.0.61]:http [::ffff:192.168.0.90]:49262 users:(("httpd",pid=2292,fd=26))
dapat dilihat di contoh output-nya socket koneksi dan pid proses seperti httpd tercatat dan dapat dimanfaatkan untuk monitoring.
Jika dilihat dari contoh – contoh penggunaan ss
, umumnya menampilan informasi seperti netstat namum memiliki fitur yang beli banyak.