ทำไมการเชื่อมต่อบางอย่างถึงกำหนดเวลาออกไปและคนอื่น ๆ ถูกปฏิเสธ?


14

ฉันสังเกตเห็นว่าบางครั้งขณะพยายาม telnet ในพอร์ตสุ่มบางอย่างฉันได้สังเกตสถานการณ์สองชนิด:

$ telnet example.com 3432
  Trying 173.252.110.27...

$ telnet example.com 3432
  Connection Refused.

ใครสามารถอธิบายฉันว่าอะไรคือความแตกต่างระหว่างสองอย่างนี้?


1
ในกรณีแรกการรับส่งข้อมูลจะลดลงและในกรณีที่สองการรับส่งข้อมูลถูกปฏิเสธ การเชื่อมโยงด้านล่างสรุปความแตกต่างระหว่าง DROP VS ปฏิเสธchiark.greenend.org.uk/~peterb/network/drop-vs-reject
ตุ๊ก

คำตอบ:


10

เหตุผลหนึ่งก็คือพฤติกรรมของไฟร์วอลล์บน example.com ในกรณีที่ไฟร์วอลล์ลดการรับส่งข้อมูลคุณจะเห็นคำตอบแรก ในทางตรงกันข้ามหากไฟร์วอลล์ปฏิเสธการรับส่งข้อมูลคุณจะได้รับครั้งที่สอง

เพื่อความเข้าใจที่ดีขึ้นให้ใช้ตัวกรองแพ็คเก็ตเช่นtcpdumpหรือwiresharkและสูดอากาศในขณะที่คุณทำการทดสอบ

กรณีแรกจะมีลักษณะเหมือน Syn, Syn, ...

เคสที่สองจะดูเหมือน Syn, Rst พร้อมกับพอร์ต ICMP ที่ไม่สามารถเข้าถึงได้

การเชื่อมต่อที่ประสบความสำเร็จจะมีลักษณะเช่น Syn, Syn-Ack, Ack เราคาดว่าใน TCP สามทางจับมือกัน


2
มีข้อสงสัยอย่างหนึ่งดังนั้นในกรณีที่แอพบางตัวไม่ฟังพอร์ตบางตัวและไม่มีไฟร์วอลล์บล็อกการเชื่อมต่อกับพอร์ตนั้นฉันควรพบกรณีที่สอง ฉันหมายถึงฉันควรได้รับการตั้งค่าสถานะ RST TCP ในการตอบกลับ ฉันถูกไหม ?
pradeepchhetri

2
@pradeepchhetri ใช่ถ้าไม่มีอะไรฟังหรือบล็อกทราฟฟิกไปยังโฮสต์ที่ใช้งานอยู่คุณจะได้รับการเชื่อมต่อที่ปฏิเสธข้อผิดพลาด (และแพ็คเก็ต TCP RST ที่เกี่ยวข้อง) อย่างไรก็ตามนี่เป็นเรื่องแปลกบนอินเทอร์เน็ตในทุกวันนี้
CVn
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.