15 Contoh perintah sockstat berguna untuk mencari pelabuhan terbuka di FreeBSD

15 Contoh perintah sockstat berguna untuk mencari pelabuhan terbuka di FreeBSD

Sockstat adalah utiliti baris perintah serba boleh yang digunakan untuk memaparkan rangkaian dan sistem membuka soket di FreeBSD. Terutamanya, perintah sockstat dipasang secara lalai dalam freebsd dan ia biasanya digunakan untuk memaparkan nama proses yang membuka port rangkaian tertentu pada sistem freebSd.

Walau bagaimanapun, sockstat boleh juga menyenaraikan soket terbuka berdasarkan versi protokol (kedua -dua versi IP), pada keadaan sambungan dan apa yang pelabuhan daemon atau program mengikat dan mendengar.

Baca juga: 20 Contoh Perintah 'NetStat' berguna untuk memeriksa sambungan rangkaian

Ia juga boleh memaparkan soket komunikasi antara proses, yang biasanya dikenali sebagai soket domain unix atau IPC. Perintah sockstat digabungkan dengan penapis grep atau disalurkan melalui utiliti awk terbukti menjadi alat yang berkuasa untuk timbunan rangkaian tempatan.

Ia dapat mengecilkan hasil untuk sambungan yang dibuka berdasarkan pengguna yang memiliki soket, deskriptor fail soket rangkaian atau PID proses yang membuka soket.

Dalam panduan ini, kami akan menyenaraikan beberapa contoh penggunaan biasa, tetapi juga sangat kuat, utiliti rangkaian baris perintah sockstat di FreeBSD.

Keperluan

  1. FreeBSD 11.1 panduan pemasangan

1. Senaraikan semua pelabuhan yang dibuka di FreeBSD

Cukup dilaksanakan tanpa sebarang pilihan atau suis, perintah sockstat akan memaparkan semua soket yang dibuka dalam sistem freeBSD, seperti yang digambarkan dalam tangkapan skrin di bawah.

# sockstat 
Paparan port rangkaian di FreeBSD

Nilai yang dipaparkan dalam output sockstat digambarkan sebagai:

  • Pengguna : Pemilik (akaun pengguna) soket.
  • Perintah : Arahan yang dengan membuka soket.
  • Pid : ID proses arahan yang memiliki soket.
  • FD : Nombor deskriptor fail soket.
  • Proto : Protokol pengangkutan (biasanya TCP/UDP) yang dikaitkan dengan jenis soket atau soket yang dibuka dalam kes soket domain UNIX (datagram, aliran atau seqpac) untuk soket UNIX.
  • Alamat tempatan : Ia mewakili alamat IP tempatan untuk soket berasaskan IP. Sekiranya soket Unix ia mewakili nama fail endpoint yang dilampirkan pada soket. The "??" Notasi menunjukkan bahawa titik akhir soket tidak dapat diiktiraf atau ditubuhkan.
  • Alamat asing : Alamat IP jauh di mana soket disambungkan ke.

2. Senaraikan mendengar atau dibuka di FreeBSD

Dilaksanakan dengan -L Bendera, perintah sockstat akan memaparkan semua soket mendengar yang dibuka dalam timbunan rangkaian dan semua soket domain Unix yang dibuka atau paip bernama yang terlibat dalam beberapa jenis pemprosesan data tempatan dalam sistem.

# sockstat -l 
Senaraikan port rangkaian dibuka

3. Senaraikan IPv4 dibuka port di FreeBSD

Untuk memaparkan semua soket yang dibuka untuk IPv4 hanya protokol, mengeluarkan arahan dengan -4 Bendera, seperti yang dicadangkan dalam contoh di bawah.

# sockstat -4 
Senaraikan IPv4 dibuka port di FreeBSD

4. Senaraikan port dibuka ipv6 di FreeBSD

Sama dengan versi IPv4, anda juga boleh memaparkan soket rangkaian yang dibuka untuk IPv6 Hanya, dengan mengeluarkan arahan seperti yang ditunjukkan di bawah.

# sockstat -6 
Senaraikan port dibuka ipv6

5. Senaraikan TCP atau UDP dibuka port di FreeBSD

Untuk memaparkan soket rangkaian hanya berdasarkan protokol rangkaian yang ditentukan, seperti TCP atau UDP, menggunakan -P bendera, diikuti dengan nama argumen protokol.

Nama protokol boleh didapati dengan memeriksa kandungan /etc/protokol fail. Pada masa ini, protokol ICMP tidak disokong oleh alat sockstat.

Tunjukkan hanya soket TCP
# sockstat -p tcp 
Senaraikan tcp dibuka pelabuhan
Tunjukkan hanya soket UDP
# sockstat -p udp 
Senaraikan UDP dibuka port

Rantai kedua -dua protokol.

# sockstat -p tcp, udp 

6. Senaraikan nombor port khusus TCP dan UDP

Sekiranya anda ingin memaparkan semua soket TCP atau UDP IP dibuka, berdasarkan nombor port tempatan atau jauh, gunakan bendera dan sintaks perintah di bawah, seperti yang digambarkan dalam tangkapan skrin di bawah.

# sockstat -p tcp -p 443 [Tunjukkan tcp https port] # sockstat -p udp -p 53 [tunjukkan port udp dns] # sockstat -p tcp -p 443,53,80,21 [Tunjukkan kedua -dua TCP dan udp] 
Senaraikan port TCP tertentu

7. Senarai port yang dibuka dan disambungkan di FreeBSD

Untuk memaparkan semua soket yang dibuka dan disambungkan, gunakan -c bendera. Seperti yang ditunjukkan dalam sampel di bawah, anda boleh menyenaraikan semua Https soket yang disambungkan atau semua soket yang disambungkan TCP dengan mengeluarkan arahan.

# sockstat -p tcp -p 443 -c # sockstat -p tcp -c 
Senarai Buka dan Berhubung Pelabuhan

8. Senaraikan Port Mendengarkan Rangkaian di FreeBSD

Untuk menyenaraikan semua soket TCP yang dibuka dalam keadaan mendengar -L dan -s Bendera, seperti yang ditunjukkan dalam contoh di bawah. Menjadi protokol tanpa sambungan, UDP tidak mengekalkan maklumat mengenai keadaan sambungan.

UDP dibuka soket tidak dapat dipaparkan dengan menggunakan keadaan mereka, kerana protokol UDP menggunakan datagrams untuk menghantar/menerima data dan tidak mempunyai mekanisme binaan untuk menentukan keadaan sambungan.

# sockstat -46 -l -s 
Senaraikan Pelabuhan Mendengarkan Rangkaian

9. Senaraikan soket unix dan paip bernama

Soket domain Unix, serta bentuk komunikasi antara proses tempatan, seperti paip bernama, boleh dipaparkan oleh perintah sockstat dengan menggunakan -u bendera, seperti yang ditunjukkan dalam gambar di bawah.

# sockstat -u 
Senaraikan soket Unix

10. Senarai port yang dibuka dengan permohonan di FreeBSD

Output arahan sockstat boleh ditapis melalui utiliti grep untuk memaparkan senarai port yang dibuka oleh aplikasi atau arahan tertentu.

Katakan anda ingin menyenaraikan semua soket yang berkaitan dengan Nginx pelayan web, anda boleh mengeluarkan arahan berikut untuk mencapai tugas.

# sockstat -46 | grep nginx 
Senaraikan soket mendengar aplikasi

Untuk memaparkan soket yang disambungkan yang berkaitan dengan pelayan web nginx, mengeluarkan arahan berikut.

# sockstat -46 -c | grep nginx 

11. Senaraikan protokol yang disambungkan HTTPS

Anda boleh menyenaraikan semua soket yang berkaitan dengan yang berkaitan dengan Https protokol bersama keadaan setiap sambungan dengan menjalankan arahan di bawah.

# sockstat -46 -s -p tcp -p 443 -c 
Senaraikan protokol yang disambungkan HTTPS

12. Senaraikan Soket Jauh HTTP

Untuk menyenaraikan semua soket terpencil yang berkaitan dengan protokol HTTP, anda boleh menjalankan salah satu kombinasi arahan berikut.

# sockstat -46 -c | Egrep '80 | 443 '| awk 'print $ 7' | uniq -c | sort -nr # sockstat -46 -c -p 80,443 | Grep -v Alamat | Awk 'Print $ 7' | uniq -c | sort -nr 
Senaraikan Protokol HTTP Jauh

13. Cari permintaan HTTP tertinggi melalui alamat IP

Sekiranya anda ingin mencari berapa banyak sambungan HTTP yang diminta oleh setiap alamat IP jauh, mengeluarkan arahan di bawah. Perintah ini boleh sangat berguna sekiranya anda ingin menentukan sama ada pelayan web anda berada di bawah beberapa jenis serangan DDOS. Sekiranya disyaki, anda harus menyiasat alamat IP dengan kadar permintaan tertinggi.

# sockstat -46 -c | Egrep '80 | 443 '| awk 'print $ 7' | CUT -D: -F1 | uniq -c | sort -nr 

14. Senaraikan DNS dibuka soket

Sekiranya anda telah mengkonfigurasi pelayan DNS caching dan ke hadapan di premis anda untuk melayani pelanggan dalaman melalui Protokol Pengangkutan TCP dan anda ingin memaparkan senarai semua soket
dibuka oleh resolver, bersama dengan keadaan setiap sambungan soket, laksanakan arahan berikut.

# sockstat -46 -p tcp -p 53 -s 
Senaraikan DNS dibuka soket

15. Pertanyaan TCP DNS di domain tempatan

Sekiranya tidak ada trafik DNS di rangkaian, anda boleh mencetuskan pertanyaan DNS secara manual pada soket TCP dari konsol mesin tempatan dengan menjalankan arahan penggali berikut. Selepas itu, mengeluarkan arahan di atas untuk menyenaraikan semua soket resolver.

# DIG +TCP www.domain.com @127.0.0.1 
Pertanyaan TCP DNS di Tempatan

Itu sahaja! Bersama dengan NetStat dan LSOF Command Line Utilities, SockStat Command Line adalah utiliti yang kuat yang digunakan untuk memperoleh maklumat rangkaian dan menyelesaikan masalah pelbagai aspek FreeBSD Networking Stack dan Proses dan Perkhidmatan Berkaitan Rangkaian FreeBSD.

Rakan komando Sockstat FreeBSD di Linux diwakili oleh netstat atau yang baru ss perintah. Percayalah atau tidak, berdasarkan utiliti sockstat, anda dapat mencari aplikasi serupa yang dibangunkan untuk Android OS, bernama Sockstat - Netstat Gui Simple.