Netstat -o / netstat --timers çıktısını yorumlama


17

netstat -oçıktıda bazı zamanlayıcı bilgileri içeriyor, ancak Timersütunda herhangi bir yerde çıktıyla ilgili bir açıklama bulamadım .
Herkes bunu açıklayabilir veya bir açıklamaya işaret edebilir mi?

Bu netstat -o'nun çıkışına benziyor (Ubuntu 8.04'te).

Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       Timer
tcp        0      0 192.168.22.1:443        111.111.11.210:5804     ESTABLISHEDkeepalive (6176.47/0/0)
tcp        0      0 192.168.22.1:443        192.168.22.253:48379    TIME_WAIT  timewait (36.57/0/0)
tcp        0    924 192.168.22.1:47763      10.9.169.60:443         ESTABLISHEDon (0.34/0/0)
tcp        0      0 192.168.22.1:443        192.168.111.99:4059     ESTABLISHEDkeepalive (6963.60/0/0)
tcp        0      0 192.168.22.1:443        192.168.111.74:1729     ESTABLISHEDkeepalive (1393.60/0/0)
tcp        0      0 192.168.56.1:42204      10.9.169.60:443         ESTABLISHEDoff (0.00/0/0)
tcp        0      0 192.168.56.1:42207      10.9.169.60:443         ESTABLISHEDoff (0.00/0/0)
tcp        0    940 192.168.22.1:42186      10.9.169.60:443         ESTABLISHEDon (0.28/0/0)
tcp        0      0 192.168.22.1:443        192.168.22.253:48367    TIME_WAIT  timewait (31.57/0/0)
tcp        0      0 192.168.22.1:42234      10.9.169.60:443         ESTABLISHEDoff (0.00/0/0)
tcp        0      0 192.168.22.1:42209      10.9.169.60:443         ESTABLISHEDoff (0.00/0/0)

Yanıtlar:


7

İlk sayı açıkça geri sayım sayacıdır. Durum türüne bağlı olarak, zamanlayıcı zaman aşımına uğradığında, yeniden denemek ve başka bir FIN veya yeniden denemek için gerekli olan her paketi göndermek. Böylece ikinci sayı, yeniden deneme sayısını takip eder. Trafik durumu olması durumunda TCP geri çekilme zamanlayıcılarına sahip olduğundan zamanlayıcının arttığına dikkat edin. Geri çekilme zamanlayıcısı aşırı sık tekrar denemeleri önler. Her arıza daha büyük ve daha büyük geri çekilmeyle sonuçlanır. Geri çekilme, TCP yığınına bağlı olarak üstel büyüme veya doğrusal olabilir. 3 rakamın ne için olduğunu anlamadım. Ekranlarımda daima sıfır.


31

Zamanlayıcı sütununda iki alan vardır (yukarıdaki o / p'den):

keepalive (6176.47/0/0)  
<1st field> <2nd field>

1st fieldDeğerlere sahip olabilir:
keepalive- canlı tutma zamanlayıcı soketi için AÇIK olduğunda
on- yeniden iletim zamanlayıcısı soketi için AÇIK olduğunda
off- yukarıdakilerden hiçbiri AÇIK

2nd fieldÜÇ alt alanlara sahiptir:

(6176.47/0/0) -> (a/b/c)

a= zamanlayıcı değeri (a = 1. alan = "saklayıcı" olduğunda zamanlayıcı zamanlayıcı; a = 1. alan = "açık" olduğunda yeniden iletim zamanlayıcısı)
b= meydana gelen yeniden iletim
csayısı = gönderilen saklayıcı prob sayısı

Örneğin, bir istemci ve bir sunucu (geri döngü değil) arasında açık iki soket vardı. Kalıcı ayar:

KEEPALIVE_IDLETIME   30
KEEPALIVE_NUMPROBES   4
KEEPALIVE_INTVL      10

Ve istemci makine bir kapatma yaptım, bu yüzden sunucu tarafında bir netstat koştu ve çıktı:

Port1:

netstat -c --timer | grep "192.0.0.1:43245             192.0.68.1:49742"

tcp        0      0 192.0.0.1:43245             192.0.68.1:49742            ESTABLISHED keepalive (1.92/0/0)
tcp        0      0 192.0.0.1:43245             192.0.68.1:49742            ESTABLISHED keepalive (0.71/0/0)
tcp        0      0 192.0.0.1:43245             192.0.68.1:49742            ESTABLISHED keepalive (9.46/0/1)
tcp        0      0 192.0.0.1:43245             192.0.68.1:49742            ESTABLISHED keepalive (8.30/0/1)
tcp        0      0 192.0.0.1:43245             192.0.68.1:49742            ESTABLISHED keepalive (7.14/0/1)
tcp        0      0 192.0.0.1:43245             192.0.68.1:49742            ESTABLISHED keepalive (5.98/0/1)
tcp        0      0 192.0.0.1:43245             192.0.68.1:49742            ESTABLISHED keepalive (4.82/0/1)
tcp        0      0 192.0.0.1:43245             192.0.68.1:49742            ESTABLISHED keepalive (3.66/0/1)
tcp        0      0 192.0.0.1:43245             192.0.68.1:49742            ESTABLISHED keepalive (2.50/0/1)
tcp        0      0 192.0.0.1:43245             192.0.68.1:49742            ESTABLISHED keepalive (1.33/0/1)
tcp        0      0 192.0.0.1:43245             192.0.68.1:49742            ESTABLISHED keepalive (0.17/0/1)
tcp        0      0 192.0.0.1:43245             192.0.68.1:49742            ESTABLISHED keepalive (9.01/0/2)
tcp        0      0 192.0.0.1:43245             192.0.68.1:49742            ESTABLISHED keepalive (7.75/0/2)
tcp        0      0 192.0.0.1:43245             192.0.68.1:49742            ESTABLISHED keepalive (6.47/0/2)
tcp        0      0 192.0.0.1:43245             192.0.68.1:49742            ESTABLISHED keepalive (5.29/0/2)
tcp        0      0 192.0.0.1:43245             192.0.68.1:49742            ESTABLISHED keepalive (4.08/0/2)
tcp        0      0 192.0.0.1:43245             192.0.68.1:49742            ESTABLISHED keepalive (2.89/0/2)
tcp        0      0 192.0.0.1:43245             192.0.68.1:49742            ESTABLISHED keepalive (1.73/0/2)
tcp        0      0 192.0.0.1:43245             192.0.68.1:49742            ESTABLISHED keepalive (0.54/0/2)
tcp        0      0 192.0.0.1:43245             192.0.68.1:49742            ESTABLISHED keepalive (9.38/0/3)
tcp        0      0 192.0.0.1:43245             192.0.68.1:49742            ESTABLISHED keepalive (8.23/0/3)
tcp        0      0 192.0.0.1:43245             192.0.68.1:49742            ESTABLISHED keepalive (7.08/0/3)
tcp        0      0 192.0.0.1:43245             192.0.68.1:49742            ESTABLISHED keepalive (5.93/0/3)                                                                                                                               
tcp        0      0 192.0.0.1:43245             192.0.68.1:49742            ESTABLISHED keepalive (4.76/0/3)
tcp        0      0 192.0.0.1:43245             192.0.68.1:49742            ESTABLISHED keepalive (3.62/0/3)
tcp        0      0 192.0.0.1:43245             192.0.68.1:49742            ESTABLISHED keepalive (2.48/0/3)
tcp        0      0 192.0.0.1:43245             192.0.68.1:49742            ESTABLISHED keepalive (1.32/0/3)
tcp        0      0 192.0.0.1:43245             192.0.68.1:49742            ESTABLISHED keepalive (0.13/0/3)
tcp        0      0 192.0.0.1:43245             192.0.68.1:49742            ESTABLISHED keepalive (8.98/0/4)
tcp        0      0 192.0.0.1:43245             192.0.68.1:49742            ESTABLISHED keepalive (7.78/0/4)
tcp        0      0 192.0.0.1:43245             192.0.68.1:49742            ESTABLISHED keepalive (6.62/0/4)
tcp        0      0 192.0.0.1:43245             192.0.68.1:49742            ESTABLISHED keepalive (5.45/0/4)
tcp        0      0 192.0.0.1:43245             192.0.68.1:49742            ESTABLISHED keepalive (4.29/0/4)
tcp        0      0 192.0.0.1:43245             192.0.68.1:49742            ESTABLISHED keepalive (3.14/0/4)
tcp        0      0 192.0.0.1:43245             192.0.68.1:49742            ESTABLISHED keepalive (1.99/0/4)
tcp        0      0 192.0.0.1:43245             192.0.68.1:49742            ESTABLISHED keepalive (0.85/0/4)

Yukarıda, her biri 10 saniye sonra sunucunun DÖRT tutma probları gönderdiğini ve herhangi bir yanıt almadığı için gönderilen probların sayısı arttığını ve 4'ten sonra istemciden ayrıldığını görebilirsiniz.

Port 2:

2. bağlantı için soket aynıydı, ancak sunucu tarafındaki uygulamam istemci düştükten sonra ve saklamanın süresi dolmadan önce bazı mesajlar göndermeye çalışıyordu:

 netstat -c --timer | grep "192.0.0.1:36483             192.0.68.1:43881"

tcp        0      0 192.0.0.1:36483             192.0.68.1:43881            ESTABLISHED keepalive (8.18/0/1)
tcp        0      0 192.0.0.1:36483             192.0.68.1:43881            ESTABLISHED keepalive (7.00/0/1)
tcp        0      0 192.0.0.1:36483             192.0.68.1:43881            ESTABLISHED keepalive (5.86/0/1)
tcp        0      0 192.0.0.1:36483             192.0.68.1:43881            ESTABLISHED keepalive (4.71/0/1)
tcp        0      0 192.0.0.1:36483             192.0.68.1:43881            ESTABLISHED keepalive (3.55/0/1)
tcp        0      0 192.0.0.1:36483             192.0.68.1:43881            ESTABLISHED keepalive (2.40/0/1)                                                                                                                               
tcp        0      0 192.0.0.1:36483             192.0.68.1:43881            ESTABLISHED keepalive (1.21/0/1)
tcp        0      0 192.0.0.1:36483             192.0.68.1:43881            ESTABLISHED keepalive (0.05/0/1)
tcp        0      0 192.0.0.1:36483             192.0.68.1:43881            ESTABLISHED keepalive (8.91/0/2)
tcp        0      0 192.0.0.1:36483             192.0.68.1:43881            ESTABLISHED keepalive (7.75/0/2)
tcp        0      0 192.0.0.1:36483             192.0.68.1:43881            ESTABLISHED keepalive (6.56/0/2)
tcp        0      0 192.0.0.1:36483             192.0.68.1:43881            ESTABLISHED keepalive (5.39/0/2)
tcp        0      0 192.0.0.1:36483             192.0.68.1:43881            ESTABLISHED keepalive (4.14/0/2)
tcp        0    210 192.0.0.1:36483             192.0.68.1:43881            ESTABLISHED on (0.21/2/2)  // <---- retransmission timer kicks in
tcp        0    210 192.0.0.1:36483             192.0.68.1:43881            ESTABLISHED on (0.68/3/2)
tcp        0    210 192.0.0.1:36483             192.0.68.1:43881            ESTABLISHED on (2.74/4/2)
tcp        0    210 192.0.0.1:36483             192.0.68.1:43881            ESTABLISHED on (1.59/4/2)
tcp        0    210 192.0.0.1:36483             192.0.68.1:43881            ESTABLISHED on (0.43/4/2)
tcp        0    210 192.0.0.1:36483             192.0.68.1:43881            ESTABLISHED on (2.28/5/2)
tcp        0    210 192.0.0.1:36483             192.0.68.1:43881            ESTABLISHED on (1.11/5/2)
tcp        0    210 192.0.0.1:36483             192.0.68.1:43881            ESTABLISHED on (2.95/6/2)

. . . . . 

tcp        0    210 192.0.0.1:36483             192.0.68.1:43881            ESTABLISHED on (0.65/249/2)
tcp        0    210 192.0.0.1:36483             192.0.68.1:43881            ESTABLISHED on (2.58/250/2)
tcp        0    210 192.0.0.1:36483             192.0.68.1:43881            ESTABLISHED on (1.48/250/2)
tcp        0    210 192.0.0.1:36483             192.0.68.1:43881            ESTABLISHED on (0.36/250/2)
tcp        0    210 192.0.0.1:36483             192.0.68.1:43881            ESTABLISHED on (2.26/251/2)
tcp        0    210 192.0.0.1:36483             192.0.68.1:43881            ESTABLISHED on (1.15/251/2)
tcp        0    210 192.0.0.1:36483             192.0.68.1:43881            ESTABLISHED on (3.01/252/2)
tcp        0    210 192.0.0.1:36483             192.0.68.1:43881            ESTABLISHED on (1.92/252/2)
tcp        0    210 192.0.0.1:36483             192.0.68.1:43881            ESTABLISHED on (0.84/252/2)
tcp        0    210 192.0.0.1:36483             192.0.68.1:43881            ESTABLISHED on (2.72/253/2)
tcp        0    210 192.0.0.1:36483             192.0.68.1:43881            ESTABLISHED on (1.64/253/2)
tcp        0    210 192.0.0.1:36483             192.0.68.1:43881            ESTABLISHED on (0.55/253/2)
tcp        0    210 192.0.0.1:36483             192.0.68.1:43881            ESTABLISHED on (2.47/254/2)
tcp        0    210 192.0.0.1:36483             192.0.68.1:43881            ESTABLISHED on (1.39/254/2)                                                                                                                                    
tcp        0    210 192.0.0.1:36483             192.0.68.1:43881            ESTABLISHED on (0.31/254/2)
tcp        0    210 192.0.0.1:36483             192.0.68.1:43881            ESTABLISHED on (2.19/255/2)
tcp        0    210 192.0.0.1:36483             192.0.68.1:43881            ESTABLISHED on (1.12/255/2)

Gördüğünüz gibi, bu durumda işler biraz farklı. İstemci kapandığında, sunucum saklayıcı iletiler göndermeye başladı, ancak yine de bu saklayıcıları gönderirken sunucum istemciye bir ileti göndermeye çalıştı. İstemci çöktüğünden, sunucu istemciden herhangi bir ACK alamadı, bu nedenle TCP yeniden iletimi başladı ve sunucu, her seferinde yeniden iletim zamanlayıcısını (2. alan) her yeniden iletme zamanlayıcısını (2. alan) artırmaya çalıştı. alanı) süresi doldu.

Umarım bu netstat --timerseçeneği iyi açıklar .


Selam. Açtığınız Eğer bir bağlantıyı, neden netstat görünen birçok girişler böylece?
Marco Marsala

1
'-C' bayrağı bu bilgiyi her saniye sürekli olarak yazdırmasını sağlar.
16:50

1

İlk alan: timewait/keepalive

Son verinin aktarılmasından sonraki TCP tutma probunun gönderilmesine kadar geçen saniye cinsinden süre.

Varsayılan olarak bu 7200'lerde başlar ve daha fazla veri gönderildiğinde yeniden sıfırlanır. Değer düşükse, örneğin. 4000 saniye, canlı tutma bağlantılarından bazıları uzun süre askıda kalıyor veya hiçbir şey yapmıyor.

Dahili proxy veya diğer dahili işlemlere bağlantılar daha uzun sürebilir, ancak bu web tabanlı bağlantıda gerçekleşmemelidir.


2
Linux'ta karışıklığı önlemek için: zamanlayıcı görünür netstat -oancak asla sıfırlanmaz, 0'a kadar sayar ve verilerin gönderilip gönderilmediğini kontrol eder. değilse bir paket gönderir, aksi takdirde kalan süreyi hesaplar ve yeniden başlar. Bu şekilde çalışan bir zamanlayıcıyı değiştirmek asla gerekmez.
eckes

@eckes ne demek istediğinizi açıklar mısınız? tam olarak anlamadım
Ionut Popa

Dediğim gibi, netstat tarafından görüntülenen sayı etkinlik sırasında sıfırlanmaz. Sıfır olarak sayılır ve kalan süreye sıfırlanır.
eckes
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.