การเชื่อมต่อ TCP ของฉันก่อวินาศกรรมโดยรัฐบาลของประเทศของฉันหรือไม่


14

ฉันสงสัยว่ารัฐบาลประเทศของฉันกำลังทำลายแพ็กเก็ต ACK ที่ได้รับบนการเชื่อมต่อ TCP อย่างใด

เมื่อฉันพยายามสร้างการเชื่อมต่อ TCP ไปยังโฮสต์ภายนอกบนพอร์ตอื่นที่ไม่ใช่ 80 การจับมือ TCP จะไม่สำเร็จ ฉันจับไฟล์ pcap (gmail.pcap: http://www.slingfile.com/file/aWXGLLFPwb ) และฉันพบว่าคอมพิวเตอร์ของฉันจะได้รับ ACK หลังจากส่ง TCP SYN แต่แทนที่จะตอบกลับด้วย ACK ACK มันจะส่ง RST

ฉันตรวจสอบแพ็กเก็ต ACK จากโฮสต์ภายนอก แต่ดูเหมือนว่าสมบูรณ์ หมายเลขลำดับและแฟล็กทั้งหมดที่ฉันรู้ถูกต้อง ใครสามารถบอกฉันได้ว่าทำไมคอมพิวเตอร์ของฉัน (เครื่อง linux) จะส่งแพ็คเก็ต RST?

ภาพหน้าจอ pcap


เราจะสอบถามได้ไหมว่าประเทศไหน?
Kev

ฉันจงใจไม่ได้พูดถึงมัน แต่ตอนนี้เมื่อคุณถามฉันไม่สามารถคิดเหตุผลที่จะไม่บอก นี่เป็นหนึ่งในปัญหาประจำวันของฉันในอิหร่าน
Mohammad

การจับภาพนำมาจากเครื่องของคุณพยายามเชื่อมต่อหรือไม่
the-wabbit

ใช่. ฉันรัน tcpdump -w gmail.pcap จากนั้น telnet gmail.com 443
Mohammad

telnet ไม่ทำงานคุณต้องเห็นคำตอบของฉันด้านล่าง :-)
The Unix Janitor

คำตอบ:


6

จากบรรทัด cmd:

openssl s_client -connect serveryourtryingtocontact.com:443

สิ่งนี้ควรตรวจสอบว่าคุณสามารถเชื่อมต่อ SSL กับโฮสต์ระยะไกลได้หรือไม่ อาจทำให้ Wireshark ของการจราจรนี้

หากคุณไม่ได้มี OpenSSL apt-get install opensslแล้วคุณสามารถ

เราต้องกำหนดตำแหน่งที่ RST จะถูกสร้างขึ้น มันเกิดขึ้นกับเว็บไซต์ SSL ทั้งหมดหรือไม่ คุณมีการเชื่อมต่อโดยตรงกับ NAT-gateway ของคุณหรือไม่? คุณใช้พรอกซีหรือเปล่า?

การใช้วิธีนี้จะช่วยขจัดปัญหาใด ๆ กับ SSL stack ของคุณ


ปัญหาไม่ใช่ SSL มันเป็น TCP การเชื่อมต่อ TCP จะไม่สร้างตั้งแต่แรกดังนั้น SSL จะไม่เริ่มส่งส่วนหัว ไม่ใช่แค่หมายเลขพอร์ต 443 เท่านั้นเช่นฉันไม่สามารถเริ่มต้นการเชื่อมต่อ http ปกติกับเซิร์ฟเวอร์ในพอร์ต 8000 และคำสั่ง openssl ของคุณจะส่งผลให้ "เชื่อมต่อ: หมดเวลาเชื่อมต่อ"
Mohammad

5

แม้ว่าข่าวกรองอิหร่านจะมีข่าวลือว่าจะทำลาย HTTPS เป็นครั้งคราวจากข้อมูลที่คุณให้มาดูเหมือนว่าการตอบสนอง SYN, แพ็กเก็ต ACK จาก 173.194.32.22 มาถึงโฮสต์ของคุณ แต่ไม่เคยทำกับสแต็ก TCP ของคุณ สแต็คลองส่ง SYN หลังจากหนึ่งวินาทีสองวินาทีสี่วินาทีและแปดวินาทีตามลำดับ แต่ดูเหมือนจะไม่เห็นการตอบสนองเลย

ดูเหมือนว่าจะมีการกรอง SYN, ACK ที่เข้ามา - คุณไม่มีiptablesกฎสำหรับการรับส่งข้อมูล tcp ในเครือข่าย INPUT ของคุณซึ่งมีREJECT --reject-with tcp-resetเป้าหมายโดยโอกาสใด ๆ ?


ไม่ iptables ของฉันไม่มีกฎใด ๆ เลยและในอีกหมายเหตุฉันต้องบอกว่าฉันสามารถสร้างการเชื่อมต่อ TCP กับโฮสต์ใด ๆ ในอิหร่านได้สำเร็จหรือแม้แต่เว็บไซต์ต่างประเทศสองแห่ง (kernel.org จริง ๆ เท่านั้น!)
Mohammad

1
ฉันเดาว่ารัฐบาลกำลังเปลี่ยนแพ็กเก็ตที่สอง (SYN / ACK) ดังนั้นแพ็คเก็ตที่ไม่ถูกต้องและดังนั้นจึงไม่เคยทำให้เป็นสแต็ก TCP
Mohammad

1
@Mohammad แพ็คเก็ตที่ถูกต้อง แม้ว่าจะไม่ใช่สแต็กจะไม่ทำทั้งสองอย่าง: ตอบกลับด้วย RST และดำเนินการต่อราวกับว่ายังไม่ได้รับ มีบางอย่างกำลังจับอยู่ระหว่างทางไปยังกองซ้อน ฉันขอแนะนำให้บูตเครื่องติดตั้งที่รู้จักกันดี (เช่นลินุกซ์ซีดีสด) และทำการทดสอบอีกครั้ง
the-wabbit

ขอขอบคุณ. ฉันไม่พบปัญหาใด ๆ กับแพ็กเก็ต ACK ด้วยเช่นกัน แต่สิ่งที่เป็นปัญหานี้เกิดขึ้นทุกวัน (จาก 4 วันก่อน) ในตอนเช้าในที่ทำงานของฉัน! ร่างกายทุกคน (ประมาณ 50 คน) มีปัญหาเดียวกันทั้งหมดและฉันก็ยังสงสัยว่าทำไม ฉันไม่มีปัญหาเดียวกันที่บ้าน แต่ฉันได้ยินจากเพื่อนว่าอินเทอร์เน็ตมีปัญหาร้ายแรงวันนี้
Mohammad

3
@ Mohammad ตรวจสอบมัลแวร์แล้ว การรันการติดตั้งที่รู้จักกันดีตามที่แนะนำข้างต้นเป็นการทดสอบที่ง่ายและมีความสำคัญสำหรับกรณีนี้
the-wabbit
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.