Cara Menggunakan Perintah ss di Linux
Diterbitkan: 2022-01-29 Perintah ss
adalah pengganti modern untuk netstat
klasik. Anda dapat menggunakannya di Linux untuk mendapatkan statistik tentang koneksi jaringan Anda. Inilah cara bekerja dengan alat praktis ini.
Perintah ss versus netstat
Pengganti untuk perintah netstat
yang tidak digunakan lagi, ss
memberi Anda informasi terperinci tentang bagaimana komputer Anda berkomunikasi dengan komputer, jaringan, dan layanan lain.
ss
menampilkan statistik untuk Transmission Control Protocol (TCP), User Datagram Protocol (UDP), Unix (interprocess), dan soket mentah. Soket mentah beroperasi pada tingkat OSI jaringan, yang berarti header TCP dan UDP harus ditangani oleh perangkat lunak aplikasi, bukan oleh lapisan transport. Pesan Internet Control Message Protocol (ICMP) dan utilitas ping keduanya menggunakan soket mentah.
Menggunakan ss
Anda tidak perlu menginstal ss
, karena ini sudah menjadi bagian dari distribusi Linux terbaru. Namun, keluarannya bisa sangat panjang—kami mendapatkan hasil yang berisi lebih dari 630 baris. Hasilnya juga sangat luas.
Karena itu, kami telah menyertakan representasi teks dari hasil yang kami peroleh, karena tidak sesuai dengan tangkapan layar. Kami telah memangkasnya agar lebih mudah diatur.
Mencantumkan Koneksi Jaringan
Menggunakan ss
tanpa opsi baris perintah mencantumkan soket yang tidak mendengarkan. Artinya, ini mencantumkan soket yang tidak dalam status mendengarkan.
Untuk melihat ini, ketik berikut ini:
ss
Netid State Recv-Q Send-Q Alamat Lokal:Alamat Port Peer:Proses Port u_str ESTAB 0 0 * 41826 * 41827 u_str ESTAB 0 0 /run/systemd/journal/stdout 35689 * 35688 u_str ESTAB 0 0 * 35550 * 35551 ... u_str ESTAB 0 0 * 38127 * 38128 u_str ESTAB 0 0 /run/dbus/system_bus_socket 21243 * 21242 u_str ESTAB 0 0 * 19039 * 19040 u_str ESTAB 0 0 /run/systemd/journal/stdout 18887 * 18885 u_str ESTAB 0 0 /run/dbus/system_bus_socket 19273 * 17306 icmp6 UNCONN 0 0 *:ipv6-icmp *:* udp ESTAB 0 0 192.168.4.28%enp0s3:bootpc 192.168.4.1:bootps
Kolom-kolom tersebut adalah sebagai berikut:
- Netid : Jenis soket. Dalam contoh kami, kami memiliki "u_str," aliran Unix, "udp," dan "icmp6," soket ICMP versi 6 IP. Anda dapat menemukan lebih banyak deskripsi jenis soket Linux di halaman manual Linux.
- State : Keadaan soket berada.
- Recv-Q : Jumlah paket yang diterima.
- Send-Q : Jumlah paket yang dikirim.
- Alamat Lokal: Port : Alamat dan port lokal (atau nilai yang setara untuk soket Unix).
- Peer Address:Port : Alamat dan port jarak jauh (atau nilai yang setara untuk soket Unix).
Untuk soket UDP, kolom "Negara" biasanya kosong. Untuk soket TCP dapat berupa salah satu dari berikut ini:
- DENGARKAN: Hanya sisi server. Soket sedang menunggu permintaan koneksi.
- SYN-SENT: Hanya sisi klien. Soket ini telah membuat permintaan koneksi dan menunggu untuk melihat apakah itu diterima.
- SYN-RECEIVED: Hanya sisi server. Soket ini sedang menunggu konfirmasi koneksi setelah menerima permintaan koneksi.
- DIDIRIKAN: Server dan klien. Koneksi yang berfungsi telah dibuat antara server dan klien, memungkinkan data ditransfer di antara keduanya.
- FIN-WAIT-1: Server dan klien. Soket ini sedang menunggu permintaan pemutusan koneksi dari soket jarak jauh, atau pengakuan atas permintaan pemutusan koneksi yang sebelumnya dikirim dari soket ini.
- FIN-WAIT-2: Server dan klien. Soket ini sedang menunggu permintaan pemutusan koneksi dari soket jarak jauh.
- TUTUP-TUNGGU: Server dan klien. Soket ini sedang menunggu permintaan pemutusan koneksi dari pengguna lokal.
- PENUTUP: Server dan klien. Soket ini sedang menunggu pengakuan permintaan pemutusan koneksi dari soket jarak jauh.
- TERAKHIR-ACK: Server dan klien. Soket ini sedang menunggu pengakuan atas permintaan pemutusan koneksi yang dikirim ke soket jarak jauh.
- TIME-WAIT: Server dan klien. Soket ini mengirim pengakuan ke soket jarak jauh untuk memberi tahu bahwa soket tersebut menerima permintaan penghentian soket jarak jauh. Sekarang menunggu untuk memastikan bahwa pengakuan telah diterima.
- CLOSED: Tidak ada koneksi, jadi soket telah dihentikan.
Daftar Soket Mendengarkan
Untuk melihat soket pendengar, kami akan menambahkan opsi -l
(mendengarkan), seperti:
ss -l
Netid State Recv-Q Send-Q Alamat Lokal:Alamat Port Peer:Proses Port nl UNCONN 0 0 rtnl: NetworkManager/535 * nl UNCONN 0 0 rtnl:evolution-addre/2987 * ... u_str DENGARKAN 0 4096 /run/systemd/private 13349 * 0 u_seq DENGARKAN 0 4096 /jalankan/udev/kontrol 13376 * 0 u_str DENGARKAN 0 4096 /tmp/.X11-unix/X0 33071 * 0 u_dgr UNCONN 0 0 /run/systemd/journal/syslog 13360 * 0 u_str DENGARKAN 0 4096 /run/systemd/fsck.progress 13362 * 0 u_dgr UNCONN 0 0 /run/user/1000/systemd/notify 32303 * 0
Soket ini semuanya tidak terhubung dan mendengarkan. The "rtnl" berarti routing netlink, yang digunakan untuk mentransfer informasi antara kernel dan proses userspace.
Daftar Semua Soket
Untuk membuat daftar semua soket, Anda dapat menggunakan opsi -a
(semua):
ss -a
Netid State Recv-Q Send-Q Alamat Lokal:Alamat Port Peer:Proses Port nl UNCONN 0 0 rtnl: NetworkManager/535 * nl UNCONN 0 0 rtnl:evolution-addre/2987 * ... u_str DENGARKAN 0 100 publik/showq 23222 * 0 u_str DENGARKAN 0 100 pribadi/kesalahan 23225 * 0 u_str DENGARKAN 0 100 pribadi/coba lagi 23228 * 0 ... udp UNCONN 0 0 0.0.0.0:631 0.0.0.0:* udp UNCONN 0 0 0.0.0.0:mdns 0.0.0.0:* ... tcp DENGARKAN 0 128 [::]:ssh [::]:* tcp DENGARKAN 0 5 [::1]:ipp [::]:* tcp DENGARKAN 0 100 [::1]:smtp [::]:*
Outputnya berisi semua soket, terlepas dari statusnya.
Mencantumkan Soket TCP
Anda juga dapat menerapkan filter sehingga hanya soket yang cocok yang ditampilkan. Kami akan menggunakan opsi -t
(TCP), jadi hanya soket TCP yang akan dicantumkan:
ss -a -t
Mencantumkan Soket UDP
Opsi -u
(UDP) melakukan jenis tindakan pemfilteran yang sama. Kali ini, kita hanya akan melihat soket UDP:
ss -a -u
Status Recv-Q Send-Q Alamat Lokal: Alamat Port Peer: Proses Port UNCONN 0 0 0.0.0.0:631 0.0.0.0:* UNCONN 0 0 0.0.0.0:mdns 0.0.0.0:* UNCONN 0 0 0.0.0.0:60734 0.0.0.0:* UNCONN 0 0 127.0.0.53%lo:domain 0.0.0.0:* ESTAB 0 0 192.168.4.28%enp0s3:bootpc 192.168.4.1:bootps UNCONN 0 0 [::]:mdns [::]:* UNCONN 0 0 [::]:51193 [::]:*
Mencantumkan Soket Unix
Untuk hanya melihat soket Unix, Anda dapat menyertakan opsi -x
(Unix), seperti yang ditunjukkan di bawah ini:
ss -a -x
Netid State Recv-Q Send-Q Alamat Lokal:Alamat Port Peer:Proses Port u_str ESTAB 0 0 * 41826 * 41827 u_str ESTAB 0 0 * 23183 * 23184 u_str ESTAB 28 0 @/tmp/.X11-unix/X0 52640 * 52639 ... u_str ESTAB 0 0 /run/systemd/journal/stdout 18887 * 18885 u_str ESTAB 0 0 /run/dbus/system_bus_socket 19273 * 17306
Mencantumkan Soket Mentah
Filter untuk soket mentah adalah opsi -w
(mentah):
ss -a -w
Daftar IP Versi 4 Soket
Soket yang menggunakan protokol TCP/IP versi 4 dapat dicantumkan menggunakan opsi -4
(IPV4):
ss -a -4
Daftar IP Versi 6 Soket
Anda dapat mengaktifkan filter IP versi 6 yang cocok dengan opsi -6
(IPV6), seperti:
ss -a -6
Daftar Soket Berdasarkan Negara
Anda dapat membuat daftar soket berdasarkan statusnya dengan opsi state
. Ini bekerja dengan keadaan mapan, mendengarkan, atau tertutup. Kami juga akan menggunakan opsi penyelesaian ( -r
), yang mencoba menyelesaikan alamat jaringan ke nama, dan port ke protokol.
Perintah berikut akan mencari koneksi TCP yang telah dibuat, dan ss
akan mencoba untuk menyelesaikan nama:
status ss -t -r didirikan
Empat koneksi terdaftar yang berada dalam status mapan. Nama host, ubuntu20-04, telah diselesaikan dan "ssh" ditampilkan sebagai ganti 22 untuk koneksi SSH pada baris kedua.
Kita dapat mengulangi ini untuk mencari soket dalam status mendengarkan:
ss -t -r status mendengarkan
Recv-Q Send-Q Alamat Lokal:Alamat Port Peer:Proses Port 0 128 localhost:5939 0.0.0.0:* 0 4096 localhost%lo:domain 0.0.0.0:* 0 128 0.0.0.0:ssh 0.0.0.0:* 0 5 localhost:ipp 0.0.0.0:* 0 100 localhost:smtp 0.0.0.0:* 0 128 [::]:ssh [::]:* 0 5 ip6-localhost:ipp [::]:* 0 100 ip6-localhost:smtp [::]:*
Daftar Soket Berdasarkan Protokol
Anda dapat membuat daftar soket menggunakan protokol tertentu dengan opsi dport
dan sport
, yang masing-masing mewakili port tujuan dan sumber.
Kami mengetik berikut ini untuk membuat daftar soket menggunakan protokol HTTPS pada koneksi yang established
(perhatikan spasi setelah kurung buka dan sebelum kurung tutup):
ss -a state didirikan '( dport = :https atau sport = :https )'
Kita dapat menggunakan nama protokol atau port yang biasanya terkait dengan protokol tersebut. Port default untuk Secure Shell (SSH) adalah port 22.
Kami akan menggunakan nama protokol dalam satu perintah, dan kemudian mengulanginya menggunakan nomor port:
ss -a '( dport = :ssh atau sport = :ssh )'
ss -a '( dport = :22 atau sport = :22 )'
Seperti yang diharapkan, kami mendapatkan hasil yang sama.
Mencantumkan Koneksi ke Alamat IP Tertentu
Dengan opsi dst
(destination), kita dapat membuat daftar koneksi ke alamat IP tujuan tertentu.
Kami mengetik berikut ini:
ss -a dst 192.168.4.25
Mengidentifikasi Proses
Untuk melihat proses mana yang menggunakan soket, Anda dapat menggunakan opsi proses ( -p
), seperti yang ditunjukkan di bawah ini (perhatikan Anda harus menggunakan sudo
):
sudo ss -t -p
Status Recv-Q Send-Q Alamat Lokal: Alamat Port Peer: Proses Port ESTAB 0 0 192.168.4.28:57650 54.218.19.119: pengguna https:(("firefox",pid=3378,fd=151)) ESTAB 0 0 192.168.4.28:ssh 192.168.4.25:43946 pengguna:(("sshd",pid=4086,fd=4),("sshd",pid=3985,fd=4))
Ini menunjukkan kepada kita bahwa dua koneksi yang dibuat pada soket TCP sedang digunakan oleh daemon SSH dan Firefox.
Penerus yang Layak
Perintah ss
memberikan informasi yang sama yang sebelumnya diberikan oleh netstat
, tetapi dengan cara yang lebih sederhana dan lebih mudah diakses. Anda dapat melihat halaman manual untuk opsi dan tip lainnya.
Perintah Linux | ||
File | tar · pv · cat · tac · chmod · grep · diff · sed · ar · man · pushd · popd · fsck · testdisk · seq · fd · pandoc · cd · $PATH · awk · join · jq · fold · uniq · journalctl · tail · stat · ls · fstab · echo · less · chgrp · chown · rev · look · strings · ketik · ganti nama · zip · unzip · mount · umount · install · fdisk · mkfs · rm · rmdir · rsync · df · gpg · vi · nano · mkdir · du · ln · patch · konversi · rclone · rusak · srm | |
Proses | alias · layar · atas · bagus · renice · kemajuan · strace · systemd · tmux · chsh · sejarah · di · batch · gratis · yang · dmesg · chfn · usermod · ps · chroot · xargs · tty · pinky · lsof · vmstat · batas waktu · dinding · ya · bunuh · tidur · sudo · su · waktu · groupadd · usermod · grup · lshw · shutdown · reboot · hentikan · matikan · passwd · lscpu · crontab · tanggal · bg · fg | |
Jaringan | netstat · ping · traceroute · ip · ss · whois · fail2ban · bmon · dig · finger · nmap · ftp · curl · wget · who · whoami · w · iptables · ssh-keygen · ufw |
TERKAIT: Laptop Linux Terbaik untuk Pengembang dan Penggemar