15 'Contoh Perintah Sockstat' yang Berguna untuk Menemukan Port Terbuka di FreeBSD


Sockstat adalah utilitas baris perintah serbaguna yang digunakan untuk menampilkan soket jaringan dan sistem yang dibuka di FreeBSD. Terutama, perintah sockstat diinstal secara default di FreeBSD dan biasanya digunakan untuk menampilkan nama proses yang membuka port jaringan tertentu pada sistem FreeBSD.

Namun, sockstat juga dapat membuat daftar soket terbuka berdasarkan versi protokol (kedua versi IP), status koneksi, dan port apa yang diikat dan didengarkan oleh daemon atau program.

Baca Juga: 20 Contoh Perintah 'netstat' yang Berguna untuk Memeriksa Koneksi Jaringan

Itu juga dapat menampilkan soket komunikasi antar-proses, biasanya dikenal sebagai soket domain Unix atau IPC. Perintah Sockstat dikombinasikan dengan filter grep atau disalurkan melalui utilitas awk terbukti menjadi alat yang ampuh untuk tumpukan jaringan lokal.

Ini dapat memperkecil hasil koneksi yang dibuka berdasarkan pengguna pemilik soket, deskriptor file soket jaringan, atau PID proses yang membuka soket.

Dalam panduan ini kami akan mencantumkan beberapa contoh penggunaan umum, namun juga sangat berguna, dari utilitas jaringan baris perintah sockstat di FreeBSD.

Persyaratan

  1. Panduan Instalasi FreeBSD 11.1

1. Daftar Semua Port yang Dibuka di FreeBSD

Cukup dijalankan tanpa opsi atau switch apa pun, perintah sockstat akan menampilkan semua soket yang terbuka di sistem FreeBSD, seperti yang diilustrasikan pada gambar di bawah.

sockstat

Nilai yang ditampilkan dalam output sockstat digambarkan sebagai:

  • USER : Pemilik (akun pengguna) soket.
  • COMMAND : Perintah yang membuka soket.
  • PID : ID proses dari perintah yang memiliki soket.
  • FD : Nomor deskriptor file soket.
  • PROTO : Protokol transport (biasanya TCP/UDP) yang terkait dengan soket yang dibuka atau jenis soket dalam kasus soket domain unix (datagram, stream, atau seqpac) untuk soket UNIX.
  • ALAMAT LOKAL : Ini mewakili alamat IP lokal untuk soket berbasis IP. Dalam kasus soket Unix, ini mewakili nama file titik akhir yang melekat pada soket. “?? Notasi ” menyiratkan bahwa titik akhir soket tidak dapat dikenali atau ditetapkan.
  • ALAMAT ASING : Alamat IP jarak jauh tempat soket terhubung.

2. Daftar Mendengarkan atau Membuka Port di FreeBSD

Dieksekusi dengan flag -l, perintah sockstat akan menampilkan semua soket pendengaran yang dibuka di tumpukan jaringan dan semua soket domain unix atau pipa bernama yang terbuka yang terlibat dalam beberapa jenis pemrosesan data lokal dalam sistem.

sockstat -l

3. Daftar Port yang Dibuka IPv4 di FreeBSD

Untuk menampilkan semua soket yang terbuka hanya untuk protokol IPv4, jalankan perintah dengan tanda -4, seperti yang disarankan dalam contoh di bawah.

sockstat -4

4. Daftar Port yang Dibuka IPv6 di FreeBSD

Mirip dengan versi IPv4, Anda juga dapat menampilkan soket jaringan yang terbuka hanya untuk IPv6, dengan mengeluarkan perintah seperti yang ditunjukkan di bawah ini.

sockstat -6

5. Daftar Port yang Dibuka TCP atau UDP di FreeBSD

Untuk menampilkan soket jaringan hanya berdasarkan protokol jaringan tertentu, seperti TCP atau UDP, gunakan tanda -P, diikuti dengan tanda nama argumen protokol.

Nama protokol dapat ditemukan dengan memeriksa konten file /etc/protocols. Saat ini, protokol ICMP tidak didukung oleh alat sockstat.

Tampilkan hanya soket TCP
sockstat -P tcp

Tampilkan hanya soket UDP
sockstat -P udp

Rantai kedua protokol.

sockstat –P tcp,udp

6. Cantumkan Nomor Port Tertentu TCP dan UDP

Jika Anda ingin menampilkan semua soket terbuka IP TCP atau UDP, berdasarkan nomor port lokal atau jarak jauh, gunakan flag perintah dan sintaksis di bawah ini, seperti yang diilustrasikan pada gambar di bawah.

sockstat -P tcp -p 443             [Show TCP HTTPS Port]
sockstat -P udp -p 53              [Show UDP DNS Port] 
sockstat -P tcp -p 443,53,80,21    [Show Both TCP and UDP]

7. Daftar Port yang Dibuka dan Terhubung di FreeBSD

Untuk menampilkan semua soket yang terbuka dan terhubung, gunakan flag -c. Seperti yang ditunjukkan pada contoh di bawah, Anda dapat membuat daftar semua soket yang terhubung HTTPS atau semua soket yang terhubung dengan TCP dengan mengeluarkan perintah.

sockstat -P tcp -p 443 -c
sockstat -P tcp -c

8. Daftar Port Mendengarkan Jaringan di FreeBSD

Untuk membuat daftar semua soket TCP yang terbuka dalam keadaan mendengarkan, tambahkan tanda -l dan -s, seperti yang ditunjukkan pada contoh di bawah. Sebagai protokol connectionless, UDP tidak menyimpan informasi tentang status koneksi.

Soket terbuka UDP tidak dapat ditampilkan menggunakan statusnya, karena protokol udp menggunakan datagram untuk mengirim/menerima data dan tidak memiliki mekanisme bawaan untuk menentukan status koneksi.

sockstat -46 -l -s

9. Daftar Soket Unix dan Pipa Bernama

Soket domain Unix, serta bentuk komunikasi antar-proses lokal lainnya, seperti pipa bernama, dapat ditampilkan dengan perintah kaus kaki dengan menggunakan tanda -u, seperti yang ditunjukkan pada gambar di bawah.

sockstat -u

10. Daftar Port yang Dibuka Aplikasi di FreeBSD

Output perintah Sockstat dapat disaring melalui utilitas grep untuk menampilkan daftar port yang dibuka oleh aplikasi atau perintah tertentu.

Misalkan Anda ingin membuat daftar semua soket yang terkait dengan server web Nginx, Anda dapat mengeluarkan perintah berikut untuk menyelesaikan tugas tersebut.

sockstat -46 | grep nginx

Untuk hanya menampilkan soket terhubung yang terkait dengan server web Nginx, jalankan perintah berikut.

sockstat -46 -c| grep nginx

11. Daftar Protokol Terhubung HTTPS

Anda dapat membuat daftar semua soket terhubung yang terkait dengan protokol HTTPS beserta status setiap koneksi dengan menjalankan perintah di bawah ini.

sockstat -46 -s -P TCP -p 443 -c

12. Daftar Soket Jarak Jauh HTTP

Untuk mencantumkan semua soket jarak jauh yang terkait dengan protokol HTTP, Anda dapat menjalankan salah satu kombinasi perintah berikut.

sockstat -46 -c | egrep '80|443' | awk '{print $7}' | uniq -c | sort -nr
sockstat -46 -c -p 80,443 | grep -v ADDRESS|awk '{print $7}' | uniq -c | sort -nr

13. Temukan Permintaan HTTP Tertinggi Berdasarkan Alamat IP

Jika Anda ingin mengetahui berapa banyak koneksi HTTP yang diminta oleh setiap alamat IP jarak jauh, jalankan perintah di bawah ini. Perintah ini bisa sangat berguna jika Anda ingin menentukan apakah server web Anda sedang terkena serangan DDOS. Jika ada kecurigaan, Anda harus menyelidiki alamat IP dengan tingkat permintaan tertinggi.

sockstat -46 -c | egrep '80|443' | awk '{print $7}' | cut -d: -f1 | uniq -c | sort –nr

14. Daftar Soket DNS yang Dibuka

Jika Anda telah mengonfigurasi server DNS caching dan penerusan di lokasi Anda untuk melayani klien internal melalui protokol transport TCP dan Anda ingin menampilkan daftar semua soket
dibuka oleh solver, beserta status setiap koneksi soket, jalankan perintah berikut.

sockstat -46 -P tcp –p 53 -s

15. Permintaan TCP DNS pada Domain Lokal

Jika tidak ada lalu lintas DNS di jaringan, Anda dapat secara manual memicu kueri DNS pada soket TCP dari konsol mesin lokal dengan menjalankan perintah dig berikut. Setelah itu, jalankan perintah di atas untuk mencantumkan semua soket penyelesai.

dig +tcp  www.domain.com  @127.0.0.1

Itu saja! Bersama dengan utilitas baris perintah netstat dan lsof, baris perintah sockstat adalah utilitas canggih yang digunakan untuk memperoleh informasi jaringan dan memecahkan berbagai aspek tumpukan jaringan FreeBSD serta proses dan layanan terkait jaringan.

Rekan perintah sockstat FreeBSD di Linux diwakili oleh netstat atau perintah ss yang baru. Percaya atau tidak, berdasarkan utilitas sockstat, Anda dapat menemukan aplikasi serupa yang dikembangkan untuk OS Android, bernama SockStat – Simple Netstat GUI.