FreeBSD'de Açık Bağlantı Noktalarını Bulmak İçin 15 Faydalı 'Sockstat Komut Örneği'


Sockstat, FreeBSD'de ağ ve sistem tarafından açılan yuvaları görüntülemek için kullanılan çok yönlü bir komut satırı yardımcı programıdır. Temel olarak, çorap komutu FreeBSD'de varsayılan olarak kuruludur ve genellikle FreeBSD sisteminde belirli bir ağ bağlantı noktasını açan işlemlerin adını görüntülemek için kullanılır.

Ancak sockstat ayrıca protokol sürümüne (her iki IP sürümüne), bağlantı durumuna ve bir arka plan programının veya programın hangi bağlantı noktalarına bağlanıp dinlediğine bağlı olarak açık yuvaları da listeleyebilir.

Ayrıca Okuyun: Ağ Bağlantılarını Kontrol Etmek İçin 20 Faydalı 'netstat' Komut Örneği

Ayrıca, genellikle Unix etki alanı yuvaları veya IPC olarak bilinen işlemler arası iletişim yuvalarını da görüntüleyebilir. Grep filtresiyle birleştirilmiş veya awk yardımcı programı aracılığıyla aktarılan Socksstat komutunun, yerel ağ yığını için güçlü bir araç olduğu kanıtlanmıştır.

Soketin sahibi olan kullanıcıya, ağ soketinin dosya tanımlayıcısına veya soketi açan işlemin PID'sine bağlı olarak açık bir bağlantının sonuçlarını daraltabilir.

Bu kılavuzda FreeBSD'deki Sosstat komut satırı ağ oluşturma yardımcı programının bazı yaygın ama aynı zamanda çok güçlü kullanım örneklerini listeleyeceğiz.

Gereksinimler

  1. FreeBSD 11.1 Kurulum Kılavuzu

1. FreeBSD'de Açılan Tüm Bağlantı Noktalarını Listeleyin

Herhangi bir seçenek veya anahtar olmadan basit bir şekilde yürütülen sosstat komutu, aşağıdaki ekran görüntüsünde gösterildiği gibi FreeBSD sistemindeki tüm açık soketleri görüntüleyecektir.

sockstat

Soket durumu çıkışında görüntülenen değerler şu şekilde tanımlanır:

  • USER : Soketin sahibi (kullanıcı hesabı).
  • COMMAND : Soketi açan komut.
  • PID : Soketin sahibi olan komutun işlem kimliği.
  • FD : Soketin dosya tanımlayıcı numarası.
  • PROTO : UNIX yuvaları için unix etki alanı yuvaları (datagram, akış veya seqpac) durumunda açılan yuva veya yuva türüyle ilişkili aktarım protokolü (genellikle TCP/UDP).
  • YEREL ADRES : IP tabanlı soketler için yerel IP adresini temsil eder. Unix soketleri durumunda, sokete eklenen uç nokta dosya adını temsil eder. “?? ” gösterimi, soket uç noktasının tanınamadığı veya kurulamadığı anlamına gelir.
  • YABANCI ADRES : Soketin bağlı olduğu uzak IP adresi.

2. FreeBSD'de Dinlenen veya Açılan Bağlantı Noktalarını Listeleyin

-l bayrağıyla çalıştırılan sosstat komutu, ağ yığınında açılan tüm dinleme yuvalarını ve sistemdeki bir tür yerel veri işlemede yer alan tüm açık unix etki alanı yuvalarını veya adlandırılmış kanalları görüntüler.

sockstat -l

3. FreeBSD'de IPv4 Açılan Bağlantı Noktalarını Listeleyin

Yalnızca IPv4 protokolü için açılan tüm yuvaları görüntülemek üzere, aşağıdaki örnekte önerildiği gibi komutu -4 bayrağıyla verin.

sockstat -4

4. FreeBSD'de IPv6 Açılan Bağlantı Noktalarını Listeleyin

IPv4 sürümüne benzer şekilde, aşağıda gösterilen komutu vererek yalnızca IPv6 için açılan ağ yuvalarını da görüntüleyebilirsiniz.

sockstat -6

5. FreeBSD'de TCP veya UDP Açılan Bağlantı Noktalarını Listeleyin

Yalnızca TCP veya UDP gibi belirli bir ağ protokolüne dayalı ağ yuvalarını görüntülemek için -P işaretini ve ardından protokolün argüman adı.

Protokol adları /etc/protocols dosyasının içeriği incelenerek bulunabilir. Şu anda ICMP protokolü, çorap aracı tarafından desteklenmemektedir.

Yalnızca TCP yuvalarını göster
sockstat -P tcp

Yalnızca UDP yuvalarını göster
sockstat -P udp

Her iki protokolü de zincirleyin.

sockstat –P tcp,udp

6. TCP ve UDP'ye Özel Bağlantı Noktası Numaralarını Listeleyin

Yerel veya uzak bağlantı noktası numarasına göre tüm TCP veya UDP IP açık soketlerini görüntülemek istiyorsanız, aşağıdaki ekran görüntüsünde gösterildiği gibi aşağıdaki komut bayraklarını ve sözdizimini kullanın.

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. FreeBSD'de Açılan ve Bağlı Bağlantı Noktalarını Listeleyin

Açılan ve bağlanan tüm soketleri görüntülemek için -c bayrağını kullanın. Aşağıdaki örneklerde gösterildiği gibi komutları vererek HTTPS bağlantılı tüm yuvaları veya TCP bağlantılı tüm yuvaları listeleyebilirsiniz.

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

8. FreeBSD'deki Ağ Dinleme Bağlantı Noktalarını Listeleyin

Dinleme durumundaki tüm açık TCP yuvalarını listelemek için aşağıdaki örnekte gösterildiği gibi -l ve -s bayraklarını ekleyin. Bağlantısız bir protokol olan UDP, bağlantının durumu hakkında hiçbir bilgi tutmaz.

UDP protokolü veri göndermek/almak için veri birimlerini kullandığından ve bağlantının durumunu belirleyecek yerleşik bir mekanizmaya sahip olmadığından, UDP ile açılan yuvalar durumları kullanılarak görüntülenemez.

sockstat -46 -l -s

9. Unix Soketlerini ve Adlandırılmış Kanalları Listeleyin

Unix etki alanı yuvalarının yanı sıra adlandırılmış kanallar gibi diğer yerel işlemler arası iletişim biçimleri, aşağıdaki resimde gösterildiği gibi -u bayrağı kullanılarak sosstat komutuyla görüntülenebilir.

sockstat -u

10. FreeBSD'de Uygulama Tarafından Açılan Bağlantı Noktalarını Listeleyin

Sockstat komut çıktısı, belirli bir uygulama veya komut tarafından açılan bağlantı noktalarının listesini görüntülemek için grep yardımcı programı aracılığıyla filtrelenebilir.

Nginx web sunucusuyla ilişkili tüm yuvaları listelemek istediğinizi varsayalım, bu görevi gerçekleştirmek için aşağıdaki komutu verebilirsiniz.

sockstat -46 | grep nginx

Yalnızca Nginx web sunucusuyla ilişkili bağlı yuvaları görüntülemek için aşağıdaki komutu verin.

sockstat -46 -c| grep nginx

11. HTTPS Bağlantılı Protokolleri Listeleyin

Aşağıdaki komutu çalıştırarak HTTPS protokolüyle ilişkili tüm bağlı soketleri, her bağlantının durumuyla birlikte listeleyebilirsiniz.

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

12. HTTP Uzak Soketlerini Listeleyin

HTTP protokolüyle ilişkili tüm uzak yuvaları listelemek için aşağıdaki komut birleşimlerinden birini çalıştırabilirsiniz.

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. IP Adreslerine Göre En Yüksek HTTP İsteklerini Bulun

Her uzak IP adresi tarafından kaç HTTP bağlantısı talep edildiğini bulmak istiyorsanız aşağıdaki komutu verin. Web sunucunuzun bir tür DDOS saldırısı altında olup olmadığını belirlemek istemeniz durumunda bu komut çok yararlı olabilir. Şüphelendiğiniz durumlarda istek oranı en yüksek olan IP adreslerini araştırmalısınız.

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

14. DNS Açılan Soketleri Listeleyin

Şirketinizde, TCP aktarım protokolü aracılığıyla dahili istemcilere hizmet verecek bir önbelleğe alma ve iletme DNS sunucusu yapılandırdıysanız ve tüm yuvaların bir listesini görüntülemek istiyorsanız
Çözümleyici tarafından açılan her soket bağlantısının durumuyla birlikte aşağıdaki komutu yürütün.

sockstat -46 -P tcp –p 53 -s

15. Yerel Etki Alanında TCP DNS'yi Sorgulayın

Ağda DNS trafiği yoksa aşağıdaki dig komutunu çalıştırarak yerel makinenin konsolundan TCP soketinde manuel olarak bir DNS sorgusu tetikleyebilirsiniz. Daha sonra tüm çözümleyici soketlerini listelemek için yukarıdaki komutu verin.

dig +tcp  www.domain.com  @127.0.0.1

Bu kadar! Netstat ve lsof komut satırı yardımcı programlarının yanı sıra, Sockstat komut satırı, ağ bilgilerini almak ve FreeBSD ağ yığını ve ağ oluşturma ile ilgili süreç ve hizmetlerde birçok açıdan sorun gidermek için kullanılan güçlü bir yardımcı programdır.

FreeBSD çorap stat komutunun Linux'taki karşılığı netstat veya yeni ss komutuyla temsil edilir. İster inanın ister inanmayın, SockStat yardımcı programını temel alarak, Android işletim sistemi için geliştirilmiş SockStat – Simple Netstat GUI adlı benzer bir uygulamayı bulabilirsiniz.