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:
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:
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:
Tüm UDP bağlantı noktalarını listele
Tüm TCP bağlantı noktalarını listeleyin:
Tüm dinleme bağlantı noktalarını listeleyin:
Tüm dinleme tcp bağlantı noktalarını listeleyin:
Tüm dinleme udp bağlantı noktalarını listeleyin:
Dinleme udp bağlantı noktalarını listelemek için -lu seçeneğini kullanın
Çekirdek yönlendirme tablosunu görüntüle
Seçenek -r, çekirdek yönlendirme tablosunu görüntülemek için kullanılır.
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:
Bunu onaylamak için ps komutundan kontrol edin.
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:
Tüm arayüzlerin ağ istatistiklerini görüntüleyin
Arayüz istatistikleri -s komut seçeneği kullanılarak görüntülenebilir.
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
Tüm dinleme UNIX bağlantı noktalarını listele
Çalışan bir işlem tarafından kullanılan bağlantı noktasını bulun
IP adresi için mümkünse Alan adlarını görüntüleyin:
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.
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:
Ö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.
İ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.
443 numaralı bağlantı noktasında 192.168.1.10'a bağlanan tüm soketleri göster
ssh ile ilgili tüm bağlantıları göster
Ana bilgisayar adı çözümlemesi olmayan tcp ve udp bağlantı noktalarını listeleyin
Bağlantıya sahip olan yazdırma işlemi
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.
Zamanlayıcı bilgilerini göster
-o seçeneği ile zamanlayıcı bilgisi alınabilir.
Yalnızca ham paketleri göster
-w komut seçeneğini kullanın,
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
Kod:
$ netstat -au
Kod:
$ netstat -at
Kod:
$ netstat -l
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
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:*
....
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
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
Kod:
$ ps aux | grep 7885
root 7885 0.0 0.0 40692 5452 ? Ss 18:54 0:00 /usr/bin/sshd -D
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
...
Arayüz istatistikleri -s komut seçeneği kullanılarak görüntülenebilir.
Kod:
$ sudo netstat -s
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
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
...
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
Kod:
$ netstat -ltF
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
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
....
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
-w komut seçeneğini kullanın,
Kod:
# ss -w
Recv-Q Send-Q Local Address:Port Peer Address:Port
0 0 *:ipv6-icmp *:*