• Merhabalar sevgili dostlar, Rabbyte.net olarak kuruluş ve sürdülüş amacımız; Tamamen ücretsiz olarak Veri barındırma (Hosting) sektörü için döküman ve faydalı içerik paylaşmaktır, bu amacımıza giderken tüm dünyadan faydalı dökümanları alıp anlaşılabilir biçimde temizleyip size sunmaktr. Hedefimiz doğrultusunda 2019'dan bu güne kadar sabırla devam etmekteyiz, Siz değerli dostlarımıza Türkçe kaynak üretirken herhangi bir beklentimiz asla olmadı ve olmayacaktır. Saygılar ve sevgilerle....

Netstat Nedir ve SS Nedir ve kullanım kılavuzu

Ekli dosyayı görüntüle 129
Size örnekler kullanarak netstat ve ss komutlarının kullanımını öğretmeye çalışan Linux'ta netstat vs ss kullanım kılavuzuna hoş geldiniz. Bu kılavuza ss ve netstat komutlarının ne olduğunu, ne için kullanıldığını tanımlayarak başlayacağız ve örnekler kullanarak ağ analizi ve sorun giderme için nasıl kullanıldıklarını göstereceğiz.
netstat nedir?

Netstat,
TCP/UDP için ağ bağlantılarını, ağ protokolü istatistiklerini, arayüz istatistiklerini, yönlendirme tablolarını, maskeli balo bağlantılarını, çok noktaya yayın üyeliklerini vb. görüntülemek için kullanılan bir komut satırı ağ yardımcı programıdır. netstat programı eski ve yerine ss. Bazı netstat komutları ss komutlarıyla değiştirildi, örneğin:
Kod:
$ netstat -r   replaced by   $ ip route
$ netstat -i   replaced by   $ ip -s lin
$ netstat -g   replaced by   $ ip maddr.

ss nedir?

ss, Linux ve Unix sistemlerindeki soketleri araştırmak için kullanılan bir yardımcı programdır. Netstat'a benzer bilgileri gösterir ve soket istatistiklerini atabilir. ss komutu, diğer araçlara kıyasla TCP ve durum bilgisinden daha fazlasını görüntüleyebilir. Varsayılan olarak, ss, bir bağlantı kuran dinlemeyen açık soketlerin (örneğin TCP/UNIX/UDP) bir listesini görüntüler.
örneklerle Linux'ta netstat vs ss kullanım kılavuzu:

Bu bölümden, Linux ve Unix sistemlerinde kullanılan ss ve netstat komut satırı araçlarının örneklerine bakacağız.

En son dağıtımların hepsinde bu komutlar hazır olmalıdır ve komutları terminalde yazarak onları çağırabilirsiniz. Dağıtımınız herhangi bir araçla birlikte gelmiyorsa, bunların nasıl kurulacağına ilişkin belgelerine bakın.

Netstat komutunun komut satırı kullanımı aşağıdadır. Daha sonra ss komut kullanımına bakabilir ve bir karşılaştırma yapabilirsiniz, ardından hangi aracın sizin için en uygun olduğuna karar vereceksiniz. Netstat'ın kullanımdan kaldırıldığı için yakında kullanımdan kaldırılacağını unutmayın, bu nedenle ss komutunu kullanmayı öğrenmeniz önerilir.
netstat kullanımı:

netstat komutuyla kullanılan genel komut satırı seçenekleri şunlardır:
Kod:
-l, –dinleme ekranı dinleme sunucu soketleri
-a, –all tüm soketleri görüntüler (varsayılan: bağlı)
-r, –route görüntüleme yönlendirme tablosu
–i, –arayüzler arayüz tablosunu görüntüler
-g, –groups çok noktaya yayın grubu üyeliklerini görüntüler
-s, –statistics ağ istatistiklerini görüntüler (SNMP gibi)
-M, –masquerade maskeli bağlantıları gösterir
-v, –verbose ayrıntılı olmak
-W, –wide IP adreslerini kısaltmaz
-n, –sayısal adları çözmez
-e, –genişlet diğer/daha fazla bilgiyi göster
-p, –programlar soketler için PID/Program adını görüntüler
-o, –zamanlayıcılar zamanlayıcıları gösterir
-F, –fib ekranı Yönlendirme Bilgi Tabanı (varsayılan)
-C, –cache, FIB yerine yönlendirme önbelleğini görüntüler
Kullanım Örnekleri:

Tüm soketleri göster

Sisteminizdeki farklı protokollerden tüm etkin bağlantıların bir listesini almak için şunu çalıştırın:
Kod:
$ netstat -a
Tüm UDP bağlantı noktalarını listele
Kod:
$ netstat -au
Tüm TCP bağlantı noktalarını listeleyin:
Kod:
$ netstat -at
Tüm dinleme bağlantı noktalarını listeleyin:
Kod:
$ netstat -l
Tüm dinleme tcp bağlantı noktalarını listeleyin:
Kod:
$ netstat -lt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:nfs 0.0.0.0:* LISTEN
tcp 0 0 localhost.localdo:18083 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:37959 0.0.0.0:* LISTEN
tcp 0 0 localhost.locald:mshvlm 0.0.0.0:* LISTEN
Tüm dinleme udp bağlantı noktalarını listeleyin:

Dinleme udp bağlantı noktalarını listelemek için -lu seçeneğini kullanın
Kod:
$ netstat -lu
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
udp 0 0 0.0.0.0:52179 0.0.0.0:*
udp 0 0 0.0.0.0:mountd 0.0.0.0:*
udp 0 0 dev.jmtai.com:bootpc 0.0.0.0:*
udp 0 0 0.0.0.0:sunrpc 0.0.0.0:*
 ....
Çekirdek yönlendirme tablosunu görüntüle

Seçenek -r, çekirdek yönlendirme tablosunu görüntülemek için kullanılır.
Kod:
$ netstat -r
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
default _gateway 0.0.0.0 UG 0 0 0 tun0
default _gateway 0.0.0.0 UG 0 0 0 wlp1s0
10.10.46.0 _gateway 255.255.255.0 UG 0 0 0 tun0
10.20.0.0 0.0.0.0 255.255.255.0 U 0 0 0 tun0
Belirli bir bağlantı noktasında hangi işlemin dinlediğini görün:

Biçim: netstat -pln | grep <port> | awk '{print $NF}'. 22 numaralı bağlantı noktasında hangi işlemin dinlediğini görmek için bir örnek olarak:
Kod:
$ sudo netstat -pln | grep 22 | awk '{print $NF}'
7885/sshd
Bunu onaylamak için ps komutundan kontrol edin.
Kod:
$ ps aux | grep 7885
root 7885 0.0 0.0 40692 5452 ? Ss 18:54 0:00 /usr/bin/sshd -D
Yalnızca IPv4 dinleme bağlantı noktalarını görüntüle (TCP ve UDP)

Netstat varsayılan olarak size hem IPv4 hem de IPv6 dinleme bağlantı noktası listesinin bir listesini verir. Yalnızca IPv4'ün bir listesini almak için şunu kullanın:
Kod:
$ sudo netstat -vutlnp --listening -4
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 7885/sshd
tcp 0 0 0.0.0.0:2049 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:18083 0.0.0.0:* LISTEN 429/vboxwebsrv
tcp 0 0 0.0.0.0:37959 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:6600 0.0.0.0:* LISTEN 678/mpd
tcp 0 0 0.0.0.0:49743 0.0.0.0:* LISTEN 422/rpc.statd
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 1/init
...
Tüm arayüzlerin ağ istatistiklerini görüntüleyin

Arayüz istatistikleri -s komut seçeneği kullanılarak görüntülenebilir.
Kod:
$ sudo netstat -s
TCP istatistiklerini görüntülemek için -st kullanın, udp için -su kullanın

Hem IPv4 hem de IPv6 için çok noktaya yayın grubu üyeliğini görüntüleyin

Çok noktaya yayın, veri iletiminin aynı anda bir grup hedef bilgisayara adreslendiği grup iletişimidir. Çok noktaya yayın grubu üyeliği almak için -g seçeneğini kullanın
Kod:
$ sudo netstat -g
IPv6/IPv4 Group Memberships
Interface RefCnt Group
--------------- ------ ---------------------
lo 1 all-systems.mcast.net
wlp1s0 1 224.0.0.251
wlp1s0 1 all-systems.mcast.net
tun0 1 224.0.0.251
tun0 1 all-systems.mcast.net
lo 1 ff02::1
lo 1 ff01::1
wlp1s0 1 ff02::fb
wlp1s0 1 ff02::1:ff48:91f8
wlp1s0 1 ff02::1
wlp1s0 1 ff01::1
tun0 1 ff02::fb
tun0 1 ff02::1
tun0 1 ff01::1
Tüm dinleme UNIX bağlantı noktalarını listele
Kod:
$ sudo netstat -lx
Active UNIX domain sockets (only servers)
Proto RefCnt Flags Type State I-Node Path
unix 2 [ ACC ] STREAM LISTENING 21766 /tmp/.X11-unix/X0
unix 2 [ ACC ] STREAM LISTENING 276493 /run/user/1000/pulse/cli
unix 2 [ ACC ] STREAM LISTENING 21789 /run/user/1000/i3/ipc-socket.644
unix 2 [ ACC ] STREAM LISTENING 49182 /tmp/qtsingleapp-HipCha-9b70-3e8
unix 2 [ ACC ] STREAM LISTENING 21765 @/tmp/.X11-unix/X0
unix 2 [ ACC ] STREAM LISTENING 18468 /run/gssproxy.sock
unix 2 [ ACC ] STREAM LISTENING 2609 /run/systemd/private
unix 2 [ ACC ] STREAM LISTENING 2620 /run/rpcbind.sock
...
Çalışan bir işlem tarafından kullanılan bağlantı noktasını bulun
Kod:
$ sudo netstat -ap | grep ssh
tcp 0 0 0.0.0.0:ssh 0.0.0.0:* LISTEN 7885/sshd
tcp6 0 0 [::]:ssh [::]:* LISTEN 7885/sshd
IP adresi için mümkünse Alan adlarını görüntüleyin:
Kod:
$ netstat -ltF
Bu komut, dinleme tcp bağlantı noktalarını listeler ancak çıktıda alan adlarını gösterir.
Sürekli modda görüntü çıkışı

Her beş saniyede bir yenilenerek çıktının sürekli olarak görüntülenmesi için –c seçeneğini kullanın.
Kod:
$ netstat -ac 5

ss kullanımı:

Bu bölüm örneklerle ss komut kullanımını kapsar. Komutlar, favorilerinizden bazılarını kaçırabilir, bu nedenle herhangi bir ekleme için yorum bırakmaktan çekinmeyin. ss komutu, tüm verilerini çekirdek ad alanından alır, dolayısıyla netstat'a kıyasla daha fazla veri alabilir.

ss komutuyla kullanılan yaygın seçenekler şunlardır:
Kod:
–n, –numeric hizmet adlarını çözmez
-r, –resolve : ana bilgisayar adlarını çözümle.
-l, –dinleme ekranı dinleme soketleri
-o, –seçenekler zamanlayıcı bilgilerini gösterir
-e, –genişletilmiş ayrıntılı soket bilgilerini gösterir
-m, –memory soket bellek kullanımını gösterir
-p, –işlemler soket kullanarak işlemi gösterir
–s, –özet soket kullanım özetini göster
-N, –net belirtilen ağ ad alanı adına geçiş
-4, –ipv4 yalnızca IP sürüm 4 soketlerini görüntüler
-6, –ipv6 yalnızca IP sürüm 6 soketlerini görüntüler
–0, –paket ekran PAKET soketleri
-t, –tcp yalnızca TCP soketlerini görüntüler
-S, –sctp sadece SCTP soketlerini görüntüler
-u, –udp yalnızca UDP soketlerini görüntüler
-w, –raw yalnızca RAW soketlerini görüntüler
-x, –unix yalnızca Unix etki alanı yuvalarını görüntüler
-f, –family=FAMILY, FAMILY tipindeki ekran soketleri

Örnekler;
Tüm bağlantıları listele

Tüm bağlantıları listelemek için, herhangi bir seçenek geçmeden ss komutunu çalıştırmanız yeterlidir.
Kod:
# ss

İlgili işlem dahil tüm listeleme tcp soketlerini göster

Kullanılan seçenek, daha önce gösterilen seçenekler listesinde açıklandığı gibi -lt'dir.

Kod:
# ss -tlp

443 numaralı bağlantı noktasında 192.168.1.10'a bağlanan tüm soketleri göster
Kod:
# ss -t dst 192.168.1.10:443
ssh ile ilgili tüm bağlantıları göster
Kod:
# ss -t state established '( dport = :ssh or sport = :ssh )'
Recv-Q Send-Q Local Address:Port Peer Address:Port
0 0 192.168.0.16:60334 192.168.20.3:ssh

Ana bilgisayar adı çözümlemesi olmayan tcp ve udp bağlantı noktalarını listeleyin
Kod:
# ss -tun
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port
tcp ESTAB 0 0 192.168.0.16:41464 216.58.223.74:443
tcp ESTAB 0 0 192.168.0.16:57354 5.160.200.106:80
tcp ESTAB 0 0 192.168.0.16:60334 88.198.68.148:22
....
Bağlantıya sahip olan yazdırma işlemi
Kod:
# ss -ltp
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 0.0.0.0:ssh 0.0.0.0:* users:(("sshd",pid=7885,fd=3))
LISTEN 0 64 0.0.0.0:shilp 0.0.0.0:*
LISTEN 0 100 127.0.0.1:18083 0.0.0.0:* users:(("vboxwebsrv",pid=429,fd=9))
...

Soket kullanım özetini göster

Soketle ilgili istatistiklerin bir listesini almak için -s seçeneği, -t ve -u sırasıyla yalnızca tcp veya udp istatistiklerini göstermek için kullanılabilir. Varsayılan her ikisini de gösterecektir.
Kod:
# ss -s
Total: 818 (kernel 946)
TCP: 65 (estab 42, closed 3, orphaned 4, synrecv 0, timewait 1/0), ports 0

Transport Total IP IPv6
* 946 - -
RAW 1 0 1
UDP 14 8 6
TCP 62 56 6
INET 77 64 13
FRAG 0 0 0

Zamanlayıcı bilgilerini göster

-o seçeneği ile zamanlayıcı bilgisi alınabilir.
Kod:
# ss -tn -o
Yalnızca ham paketleri göster

-w komut seçeneğini kullanın,
Kod:
# ss -w
Recv-Q Send-Q Local Address:Port Peer Address:Port
0 0 *:ipv6-icmp *:*
 
Üst