netstat ipuçları ve püf noktaları


13

"Faydalı Komut Satırı" sorularıyla aynı şekilde ( Windows , Linux ve Mac için ), "yardımcı program x'i kullanmanın yararlı yolları" sorularının olması yararlı olacağını düşünüyorum. Man sayfaları, hangi parametrelerin ne yaptığını, ancak bunları neden kullanacağınızı, sonucun ne anlama geldiğini, komutun kapsamlı deneyler olmadan asla bilemeyeceğiniz yararlı şeyleri veya gerçekten istediğiniz cevabı nasıl alacağınızı söylemeyebilir.

Netstat hakkında bilmek istiyorum . Hangi işlemlerin bant genişliğini kullandığını ve gerçekten de sistemin bant genişliğini ne kadar hızlı kullandığını anlayabilmem gerekir. Ayrıca istenmeyen bağlantıları (muhtemelen virii) tespit etmek için yararlı görünüyor ve her türlü yönlendirme bilgisini veriyor (sadece bir Sharp Zaurus PDA'nın USB üzerinden TCP / IP kullanmasına çalışırken oynamam gerekiyordu.) Başka bir deyişle, Kulağa altın madeni gibi geliyor ve bazılarınızın bulduğunuz bilgilerin külçelerini paylaşmasını umuyordum.

Lütfen cevabınıza netstat ve işletim sisteminizi ekleyin. Bazı örnek çıktılar görmek ve ne anlama geldiğini bilmek güzel olurdu. Bu soruyu topluluk wiki'si olarak işaretledim ve umarım cevaplarınızda da aynısını yaparsınız, böylece farklı bir işletim sistemi bilen diğer insanlar, aynı cevabı biliyorlarsa neredeyse eşdeğer bir komutu bırakabilirler ve hangi cevapların en faydalı olduğuna oy verebiliriz.

Yanıtlar:


4

Yerel dinleme TCP / UDP bağlantı noktalarını ve ait oldukları işlemi göster:

sudo netstat -tulpn

4
Mac'e yakın eşdeğer "sudo lsof -i -n -P | grep LISTEN" gibi görünüyor. (-N ve -P bayraklarını takmak ana bilgisayar ve bağlantı noktası adlarını aramasını sağlar).
Clinton Blackmore,

1
Clinton - bu harika bir komut.
SpacemanSpiff

3

Netstat yönlendirme tabloları

[Bu, Mac OS X 10.5.7'de test edildi. Solaris üzerinde çalıştığı belirtildiği için sonucun tüm platformlarda neredeyse aynı olduğundan şüpheleniyorum.]

netstat -r 

size bir yönlendirme tablosu verecektir.

netstat -nr

aynıdır, ancak makine adlarını aramak yerine size ham IP'ler verecektir. Çıkışı şöyle görünür (sadece daha uzun):

Routing tables

Internet:
Destination        Gateway            Flags    Refs      Use  Netif Expire
default            192.168.40.250     UGSc       19        1    en1
127                127.0.0.1          UCS         0        0    lo0
127.0.0.1          127.0.0.1          UH          1     3140    lo0
169.254            link#5             UCS         0        0    en1
169.254.33.92      127.0.0.1          UHS         0        0    lo0
192.168.40         link#5             UCS        11        0    en1
192.168.40.1       0:17:f2:ca:a0:94   UHLW        0        0    en1   1150
...

Internet6:
Destination                             Gateway                         Flags      Netif Expire
::1                                     link#1                          UHL         lo0
fe80::%lo0/64                           fe80::1%lo0                     Uc          lo0
fe80::1%lo0                             link#1                          UHL         lo0
fe80::%en0/64                           link#4                          UC          en0
...
ff02::/32                               link#7                          UC          en2
ff02::/32                               link#8                          UC          en3

Sütunlar:

Hedef ve Ağ Geçidi: Hedef, bilgi göndermek isteyebileceğimiz bir adres (veya adres aralığı). Bu hedefe gönderilen tüm veriler ilgili ağ geçidine gider. Ağ geçidi, yolculuktaki bir sonraki 'sekmesi' için verilerin nereye gönderileceğini bilir. Yönlendirme tablosunda girişi olmayan bir hedefe veri göndermek istiyorsak, varsayılan ağ geçidinden geçecektir.

Bayraklar: Kılavuz / bilgi sayfasında tüm bayraklar listelenir. Varsayılan ağ geçidimdeki ayarların anlamı:

UGSc
U       - RTF_UP           Route usable
 G      - RTF_GATEWAY      Destination requires forwarding by intermediary
  S     - RTF_STATIC       Manually added
   c    - RTF_PRCLONING    Protocol-specified generate new routes on use

DHCP üzerinden geldiği için manuel olarak eklendiğini iddia ediyor.

Referanslar: "refcnt alanı rotanın geçerli etkin kullanım sayısını verir. Bağlantıya yönelik protokoller normal olarak bağlantı süresince tek bir rota üzerinde dururken bağlantısız protokoller aynı hedefe gönderilirken bir rota elde eder." (Adam sayfası)

Kullanın: "Kullanım alanı, bu yol kullanılarak gönderilen paketlerin sayısını sağlar."

Netif: "Arabirim girişi, rota için kullanılan ağ arabirimini gösterir."

Mac bilgisayarımda,

  • lo0, geri döngü arabirimidir.
  • en0 ethernet'tir.
  • en1 kablosuz.
  • en2 ve en3 sanal bir makine tarafından kullanılır.

Sona erme: Farklı bir netstat sürümü için bir kılavuzdan: "Güzergahın süresi dolmadan önce kalan süreyi (dakika olarak) görüntüler."




2

Aktarım / Alım Oranı

Mac'te [OS X 10.5.7]:

netstat -i -w 10

[ Solaris ve Linux'ta kullanımla ilgili notlar için chuck'ın cevabına bakınız .]

Çıktı şöyle görünür:

            input        (Total)           output
   packets  errs      bytes    packets  errs      bytes colls
       794     0    1166796        763     0      50358     0
       789     0    1167773        765     0      52542     0
       792     0    1166548        765     0      51174     0
       796     0    1167262        598     0      40152     0
       929     0    1278561        846     0      65625     0
       563     0     815570        530     0      36828     0
        32     0       4360          1     0        774     0
         9     0        705          0     0        684     0
         9     0        631          0     0          0     0

Bu, belirli bir zaman aralığında kaç paket ve bayt aktarıldığını gösterir. (Bu örnekte 10 saniye). Youtube'a bağlandım ve tarayıcı sekmesini kapatana ve oranın en alt kısmına kadar her aralıkta 1 MB'den fazla indiriyordum.

Bir yükleme veya indirme işleminin bitmesini bekliyorsanız bu yararlı olabilir. Oranı izleyin ve dramatik bir şekilde düştüğünde, yapıldığını biliyorsunuz.

Yukarıdaki komutun tüm arabirimlerdeki tüm verimi gösterdiğini unutmayın. Belirli bir arabirime (bu örnekte WiFi) dahil etmek için -Ibayrağı şu şekilde kullanın:

netstat -I en1 -w 10

1

Pencereler:

Netstat -n
(Show active TCP connections, don't slow down trying to do name resolution)

Proto  Local Address          Foreign Address        State
TCP    192.168.1.38:4853    69.59.196.212:80       ESTABLISHED

Etkin TCP bağlantılarını gösterir, ancak UDP etkinliği göstermez.

Netstat -an
  (Show all connections, don't slow down trying to do name resolution)

Proto  Local Address          Foreign Address        State
TCP    0.0.0.0:80             0.0.0.0:0              LISTENING
TCP    192.168.1.38:4853    69.59.196.212:80       ESTABLISHED

Dinleyen TCP ve UDP bağlantılarının yanı sıra tüm etkin TCP bağlantılarını gösterir. Burada giden UDP etkinliğini göstermez.


Şimdilik bir yorum ekleyeceğim, ancak yeterli temsilcim olduğunda yanıtı düzenleyeceğim. Mac OS X 10.5.7'de netstat eşdeğeri - tcp protokolüyle sınırlı olması için -p tcp ekleyin. yani. netstat -p tcp -nveyanetstat -p tcp -an
Clinton Blackmore

Windows üzerindeki diğer bir yararlı anahtar, -o (her soketin sahip olan PID'sini göster) ve -b (her soketin sahip olunan işlem adını gösterir). Tehlikede olduğundan şüphelendiğiniz makineleri incelerken özellikle kullanışlıdır.
Murali Suriar

netstat
-nt

1

pencereler

netstat -b

Bağlantıyı kullanarak işlemi görüntüle


1

Windows 7 (muhtemelen daha önce beri):

netstat -ano

ilişkili PID'lerle etkin oturumları listeler

Active Connections

  Proto  Local Address          Foreign Address        State           PID
  TCP    0.0.0.0:135            0.0.0.0:0              LISTENING       776
  TCP    0.0.0.0:445            0.0.0.0:0              LISTENING       4
  TCP    0.0.0.0:554            0.0.0.0:0              LISTENING       1724

veya bir adımı kaydetmek için

netstat -anb

(yükseltilmiş bir CMD isteminden) işlem adını verir

Active Connections

  Proto  Local Address          Foreign Address        State
  TCP    0.0.0.0:135            0.0.0.0:0              LISTENING
  RpcSs
 [svchost.exe]
  TCP    0.0.0.0:445            0.0.0.0:0              LISTENING
 Can not obtain ownership information
  TCP    0.0.0.0:554            0.0.0.0:0              LISTENING
 [wmpnetwk.exe]
  TCP    0.0.0.0:2048           0.0.0.0:0              LISTENING

1

Ben tekerleği yeniden icat eminim ama burada netstat çalıştırmak ve çıktı şu anda çoğunlukla bağlı IPs üstte sıralamak için basit bir Perl komut dosyası . Bu en iyi, 2 saniyelik aralıklarla güncellemeler için 'izleme' programı ile kullanılır.

Güncelleme: birçok sorundan kurtulmak ve ana bilgisayar adlarını görüntülemek için 2013-02-11'i önemli ölçüde yeniden yazın

Örnek çıktı:

Distant inbound connections: 2
   85.93.216.17:772               <-- 78.141.139.10       :    1        ip-78-141-139-10.dyn.luxdsl.pt.lu     1 x ESTABLISHED
   80.90.47.155:443               <-- 78.141.139.10       :    1        ip-78-141-139-10.dyn.luxdsl.pt.lu     1 x ESTABLISHED
Distant outbound connections: 3
   80.90.63.61                    --> 80.90.63.48:25      :    2        smtp.m-plify.net                      2 x TIME_WAIT
   85.93.216.17                   --> 85.93.216.18:772    :    1        maya.m-plify.net                      1 x ESTABLISHED
Looping connections: 57 (10 duplicates)
   127.0.0.1                      --> 127.0.0.1:9355      :   20                                              1 x ESTABLISHED, 8 x TIME_WAIT, 11 x CLOSE_WAIT
   127.0.0.1                      --> 127.0.0.1:4713      :   10                                             10 x CLOSE_WAIT
   127.0.0.1                      --> 127.0.0.1:9353      :    9                                              4 x TIME_WAIT, 5 x CLOSE_WAIT
   127.0.0.1                      --> 127.0.0.1:3306      :    8                                              6 x ESTABLISHED, 1 x TIME_WAIT, 1 x CLOSE_WAIT
   127.0.0.1                      --> 127.0.0.1:5445      :    5                                              1 x ESTABLISHED, 4 x TIME_WAIT
   127.0.0.1                      --> 127.0.0.1:9354      :    2                                              2 x CLOSE_WAIT
   127.0.0.1                      --> 127.0.0.1:7998      :    1                                              1 x TIME_WAIT
   127.0.0.1                      --> 127.0.0.1:3351      :    1                                              1 x ESTABLISHED
   127.0.0.1                      --> 127.0.0.1:32000     :    1                                              1 x ESTABLISHED


0

Kötü Serin Kabuk Komut Dosyaları kitabından:

Script # 90.1 : Her 'n' dakikada bir netstats değerlerini alın (crontab üzerinden)

Komut Dosyası # 90.2 : Önemli sonuçları ve eğilimleri belirleyerek netstat çalışan performans günlüğünü analiz edin.

(Bu kitabı seviyorum - satın almaya değer!)


0

Solaris'te birçok kişi, çalışan bir paket sayısı elde etmek için "netstat -i 1" yapmaya alışkındır. Linux netstat, bir deltayı değil, ham sayıyı gösterdiği için bu özelliğin işe yaramaz bir sürümüne sahiptir. Benzer sonuçları almak için "sar -n DEV 1 0" yapın. Aslında "LANG = C sar -n DEV 1 0 | grep interfacename" 'i düşünün (sar, belirli yerel ayarlarda satırın başına AM ve PM ile zamanı koyar, bu yüzden her zaman "LANG = C sar "durumunda ayrıştırabilirsiniz).


Örnek çıktı ve Mac kullanımı için bkz. Serverfault.com/questions/11289/netstat-tips-and-tricks/… .
Clinton Blackmore

0

Solaris'te,

netstat -k

Çeşitli istatistiklerin bir özetini gösterir. Hataları vs. kontrol etmek için kullanışlıdır.


0

Kimse henüz bahsetmediği için:

netstat -s 

linux altında protokol ile bir ton yararlı istatistik sağlar.

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.