Linux'ta hangi işlemin Ethernet paketleri gönderdiğini nasıl anlayabilirim?


18

Debian Linux sistemimdeki bazı işlemlerin eth0'a yaklaşık 500KB / s yazdığını gösteren gkrellm kullanıyorum. Hangi süreç olduğunu öğrenmek istiyorum. Netstat hakkında biraz bilgim var, ama bir gazilyon açık TCP bağlantısı gösteriyor ve trafik hakkında herhangi bir bilgi üretmesini sağlayamıyorum.

Suçluyu takip edebilmem için aslında eth0 arayüzünü kullanan süreçlerin bir listesini nasıl alabileceğimi bilen var mı ?


TAKİP : Debian Linux dağıtımı, nethogsbu sorunu kesin olarak çözen bir paket içerir . İşareti üzerine oldukça vardır İlgili araçlar şunlardır iftop, netstatve lsof.


iptrafiyi
Luv33preet

Bu benim için çok kısa ömürlü UDP borsalarında işe yaradı: serverfault.com/a/683327/119360
Luc

Yanıtlar:



18

netstat -ptutüm tcp ve udp bağlantıları için size sahip olan işlem kimliklerini (standart netstat bilgileriyle birlikte) verecektir. (Normal kullanıcılar tüm işlemleri tanımlayamaz.)

Şey sürekli trafik adil bir miktar dışarı gönderiyor Eğer bunu görmelisiniz Recv-Qveya Send-Qsırasıyla kolonlar 2 ve 3.

Örnekler:
Recv-Q
sudo watch -n .1 'netstat -tup | grep -E "^[t,u]cp[6]{0,1}" | sort -nr -k2'

Send-Q
sudo watch -n .1 'netstat -tup | grep -E "^[t,u]cp[6]{0,1}" | sort -nr -k3'

Bu işlemin başka bir işlem tarafından tetiklendiğinden şüpheleniyorsanız ps axf.


(TCP bağlantılarını aradığınızı biliyorsanız -u bayrağının gerekli olmadığını unutmayın.)
andol

5

Eğer sadece veri gönderme / alma işlemi arıyorsanız daha manuel bir işlem lsofkomutu çalıştırmak olacaktır . Bu, os için dosya tanımlayıcıları olduklarından ağ bağlantılarını içerecek her işlem için tüm açık dosyaları listeler.

Aradığınız şeyin bu olup olmadığından emin değilim.


4

iftop(Basit metin tabanlı) veya ntop(grafik) yükleyin .


1
iftopyalnızca bir arabirimde bant genişliği kullanımını görüntüler.
quanta

Bundan çok daha fazlasını gösterir. Varsayılan olarak, ana bilgisayar tarafından bozulur.
David Schwartz

Bir arabirim kullanan tüm işlemleri listeleyebilir mi? Eğer öyleyse, lütfen bize komutu ve seçenekleri gösterebilir misiniz?
quanta

1
Dolaylı. Ancak, ana bilgisayarı bulduğunuzda, işlemi örneğin ile bulabilirsiniz netstat -pn.
David Schwartz

3

tcpdumpBu arayüzdeki bazı paketleri koklamak için kullanın :

# tcpdump -vv -s0 -i eth0 -c 100 -w /tmp/eth0.pcap

İstemciye kopyalayın ve ne olduğunu görmek için Wireshark ile açın.


Basit istatistikler elde etmenin en kolay yolu değil, ama biraz daha karmaşık ve wireshark her şey parlayacak!
Silverfire
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.