Jestem podejrzany, że rząd mojego kraju w jakiś sposób niszczy otrzymany pakiet ACK na połączeniach TCP.
Podczas próby nawiązania połączenia TCP z hostem zewnętrznym na portach innych niż 80 uzgadnianie TCP nie powiedzie się. Przechwyciłem plik pcap (gmail.pcap: http://www.slingfile.com/file/aWXGLLFPwb ) i dowiedziałem się, że mój komputer otrzyma ACK po wysłaniu TCP SYN, ale zamiast odpowiedzi za pomocą SYN ACK wyśle RST.
Sprawdziłem pakiet ACK z zewnętrznego hosta, ale wydaje się całkowicie uzasadniony. Numer sekwencyjny i wszystkie znane mi flagi są poprawne. Czy ktoś mógłby mi powiedzieć, dlaczego mój komputer (maszyna z systemem Linux) wyśle pakiet RST?
networking
firewall
tcp
rst
Mohammad
źródło
źródło
Odpowiedzi:
Z linii cmd:
To powinno sprawdzić, czy możesz połączyć się SSL ze zdalnym hostem. Być może zrób Wireshark tego ruchu.
Jeśli nie masz openssl, możesz
apt-get install openssl
.Musimy ustalić, gdzie generowany jest RST. Czy zdarza się to we wszystkich witrynach SSL? Czy masz bezpośrednie połączenie z bramą NAT? Czy korzystasz z serwera proxy?
Zastosowanie tej metody wyklucza wszelkie problemy ze stosem SSL.
źródło
Chociaż podobno od czasu irańskiego rządu łamią HTTPS, z podanych przez ciebie danych wygląda tylko, że odpowiadający SYN, pakiet ACK z 173.194.32.22 dociera do twojego hosta, ale nigdy nie trafia do twojego stosu TCP. Stos próbuje wysłać SYN po upływie odpowiednio sekundy, dwóch sekund, czterech sekund i ośmiu sekund - ale najwyraźniej nigdy nie widzi odpowiedzi.
Przychodzące SYN, ACK wydaje się być filtrowane - nie masz
iptables
reguły dla ruchu TCP w swoim łańcuchu INPUT, który ma jakiśREJECT --reject-with tcp-reset
cel?źródło