На сервере develop у меня стоит apache. Делаю telnet на 80 порт, немного жду и закрываю соединение вообще без передачи каких-либо данных. olimpico_work ~ # telnet develop 80 Trying 192.168.70.201... Connected to develop. Escape character is '^]'. ^]quit telnet> quit Connection closed. olimpico_work ~ # Вот что показывает при этом tcpdump на клиентской стороне: olimpico_work ~ # tcpdump -i eth1 host develop and port 80 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on eth1, link-type EN10MB (Ethernet), capture size 96 bytes 11:23:44.187263 IP krivenok.41234 > develop.http: S 2779819717:2779819717(0) win 5840 <mss 1460,sackOK,timestamp 1348338 0,nop,wscale 7> 11:23:44.187387 IP develop.http > krivenok.41234: S 107518013:107518013(0) ack 2779819718 win 5792 <mss 1460,sackOK,timestamp 15521524 1348338,nop,wscale 2> 11:23:44.187423 IP krivenok.41234 > develop.http: . ack 1 win 46 <nop,nop,timestamp 1348338 15521524> 11:23:57.346185 IP krivenok.41234 > develop.http: F 1:1(0) ack 1 win 46 <nop,nop,timestamp 1349652 15521524> 11:23:57.346368 IP develop.http > krivenok.41234: F 1:1(0) ack 2 win 1448 <nop,nop,timestamp 15524815 1349652> 11:23:57.346405 IP krivenok.41234 > develop.http: . ack 2 win 46 <nop,nop,timestamp 1349652 15524815> 6 packets captured 6 packets received by filter 0 packets dropped by kernel olimpico_work ~ # Вроде все правильно и логично - сначала 3-этапное установление соединения, а затем его завершение. При этом на сервере develop видел, что соединение установлено: develop ~ # netstat -na | grep "70.198" | grep 80 tcp 0 0 192.168.70.201:80 192.168.70.198:41234 ESTABLISHED develop ~ # Пока все хорошо. А теперь делаем то же самое с сервером develop2 на котором тоже стоит apache. olimpico_work ~ # telnet develop2 80 Trying 192.168.70.205... Connected to develop2. Escape character is '^]'. ^]quit telnet> quit Connection closed. olimpico_work ~ # Вот что показывает tcpdump: olimpico_work ~ # tcpdump -i eth1 host develop2 and port 80 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on eth1, link-type EN10MB (Ethernet), capture size 96 bytes 11:30:53.644916 IP krivenok.49819 > develop2.http: S 2776473031:2776473031(0) win 5840 <mss 1460,sackOK,timestamp 1391155 0,nop,wscale 7> 11:30:53.645069 IP develop2.http > krivenok.49819: S 874752337:874752337(0) ack 2776473032 win 5792 <mss 1460,sackOK,timestamp 6177317 1391155,nop,wscale 7> 11:30:53.645104 IP krivenok.49819 > develop2.http: . ack 1 win 46 <nop,nop,timestamp 1391155 6177317> 11:30:57.245167 IP develop2.http > krivenok.49819: S 874752337:874752337(0) ack 2776473032 win 5792 <mss 1460,sackOK,timestamp 6177677 1391155,nop,wscale 7> 11:30:57.245214 IP krivenok.49819 > develop2.http: . ack 1 win 46 <nop,nop,timestamp 1391515 6177677,nop,nop,sack 1 {0:1}> 11:31:03.247796 IP develop2.http > krivenok.49819: S 874752337:874752337(0) ack 2776473032 win 5792 <mss 1460,sackOK,timestamp 6178277 1391515,nop,wscale 7> 11:31:03.247837 IP krivenok.49819 > develop2.http: . ack 1 win 46 <nop,nop,timestamp 1392114 6178277,nop,nop,sack 1 {0:1}> 11:31:15.255559 IP develop2.http > krivenok.49819: S 874752337:874752337(0) ack 2776473032 win 5792 <mss 1460,sackOK,timestamp 6179477 1392114,nop,wscale 7> 11:31:15.255603 IP krivenok.49819 > develop2.http: . ack 1 win 46 <nop,nop,timestamp 1393312 6179477,nop,nop,sack 1 {0:1}> 11:31:39.466169 IP develop2.http > krivenok.49819: S 874752337:874752337(0) ack 2776473032 win 5792 <mss 1460,sackOK,timestamp 6181897 1393312,nop,wscale 7> 11:31:39.466216 IP krivenok.49819 > develop2.http: . ack 1 win 46 <nop,nop,timestamp 1395728 6181897,nop,nop,sack 1 {0:1}> 11:31:46.678079 IP krivenok.49819 > develop2.http: F 1:1(0) ack 1 win 46 <nop,nop,timestamp 1396448 6181897> 11:31:46.678314 IP develop2.http > krivenok.49819: F 1:1(0) ack 2 win 46 <nop,nop,timestamp 6182618 1396448> 11:31:46.678353 IP krivenok.49819 > develop2.http: . ack 2 win 46 <nop,nop,timestamp 1396448 6182618> 14 packets captured 14 packets received by filter 0 packets dropped by kernel olimpico_work ~ # При этом если смотреть на сервере, то соединение находится в состоянии SYNC_RECV: develop2 EQ-scripts # netstat -na | grep "70.198" | grep 80 tcp 0 0 192.168.70.205:80 192.168.70.198:49819 SYN_RECV develop2 EQ-scripts # То есть обмен пакетов следующий: -> SYN <- SYN/ACK -> ACK <- SYN/ACK -> ACK <- SYN/ACK -> ACK ... ... Насколько я понимаю состояние SYN_RECV говорит о том, что получен SYN и отправлен SYN/ACK. После получения ACK на SYN/ACK соединение должно перейти из SYN_RECV в ESTABLISHED. Но этого не происходит. Такое ощущение, что TCP сервера вообще не получает последний ACK и поэтому постоянно перепосылает SYN/ACK клиенту. На что клиент честно отвечает ACK'ом как показано выше. В чем может быть проблема? P.S. Я запустил tcpdump и на сервере (все то же самое, только номера эфемерных портов другие): develop2 EQ-scripts # tcpdump -i eth0 host 192.168.70.198 and port 80 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes 11:44:40.458868 IP krivenok.internal.44560 > develop2.http: S 896196718:896196718(0) win 5840 <mss 1460,sackOK,timestamp 1473788 0,nop,wscale 7> 11:44:40.461384 IP develop2.http > krivenok.internal.44560: S 959167485:959167485(0) ack 896196719 win 5792 <mss 1460,sackOK,timestamp 6260093 1473788,nop,wscale 7> 11:44:40.459054 IP krivenok.internal.44560 > develop2.http: . ack 1 win 46 <nop,nop,timestamp 1473788 6260093> 11:44:44.255015 IP develop2.http > krivenok.internal.44560: S 959167485:959167485(0) ack 896196719 win 5792 <mss 1460,sackOK,timestamp 6260473 1473788,nop,wscale 7> 11:44:44.255231 IP krivenok.internal.44560 > develop2.http: . ack 1 win 46 <nop,nop,timestamp 1474167 6260473,nop,nop,sack 1 {0:1}> 11:44:50.257519 IP develop2.http > krivenok.internal.44560: S 959167485:959167485(0) ack 896196719 win 5792 <mss 1460,sackOK,timestamp 6261073 1474167,nop,wscale 7> 11:44:50.257738 IP krivenok.internal.44560 > develop2.http: . ack 1 win 46 <nop,nop,timestamp 1474766 6261073,nop,nop,sack 1 {0:1}> 11:45:03.592464 IP develop2.http > krivenok.internal.44560: S 959167485:959167485(0) ack 896196719 win 5792 <mss 1460,sackOK,timestamp 6262273 1474766,nop,wscale 7> 11:45:03.592679 IP krivenok.internal.44560 > develop2.http: . ack 1 win 46 <nop,nop,timestamp 1475963 6262273,nop,nop,sack 1 {0:1}> 11:45:27.794962 IP develop2.http > krivenok.internal.44560: S 959167485:959167485(0) ack 896196719 win 5792 <mss 1460,sackOK,timestamp 6264693 1475963,nop,wscale 7> 11:45:27.795178 IP krivenok.internal.44560 > develop2.http: . ack 1 win 46 <nop,nop,timestamp 1478379 6264693,nop,nop,sack 1 {0:1}> 11:45:38.087399 IP krivenok.internal.44560 > develop2.http: F 1:1(0) ack 1 win 46 <nop,nop,timestamp 1479406 6264693> 11:45:38.087487 IP develop2.http > krivenok.internal.44560: F 1:1(0) ack 2 win 46 <nop,nop,timestamp 6265722 1479406> 11:45:38.087688 IP krivenok.internal.44560 > develop2.http: . ack 2 win 46 <nop,nop,timestamp 1479406 6265722> ^C 14 packets captured 38 packets received by filter 0 packets dropped by kernel develop2 EQ-scripts # Видно, что ACK приходит.
Ответ на:
комментарий
от Krivenok_Dmitry
Ответ на:
комментарий
от Deleted
Ответ на:
комментарий
от Deleted
Ответ на:
комментарий
от Deleted
Ответ на:
комментарий
от val-amart
Ответ на:
комментарий
от anonymous
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум Особенности IP стека в Линукс (продолжение) (2005)
- Форум tcpdump (2002)
- Форум проблеммы с сетью... (2007)
- Форум Проблема при подключении к некоторым сайтам (2012)
- Форум Sendmail не принимает почту (2005)
- Форум Нужна помощь. странный входящий трафик (почтовый червь?) (2008)
- Форум Отследить на каком хопе происходит блокировка (2011)
- Форум Проблема с пробросом портов. (2013)
- Форум tcpdump - eol в пакете SYN (2024)
- Форум сервер в DMZ, не доступен (2012)