TCP Ping หรือ Traceroute ทำงานอย่างไร


9

tcp ping หรือ traceroute ทำงานอย่างไร ต้องคำนึงถึงเวลาที่ใช้ในการจัดตั้งแฮนด์เชค TCP หรือไม่

นอกจากนี้ใน ICMP ping คุณสามารถระบุขนาดแพ็คเก็ตซึ่งสามารถทำได้ใน TCP ping หรือไม่


ฉันไม่รู้จักใครที่ใช้เซิร์ฟเวอร์ tcp echo คุณอาจหมายถึง UDP
Chris S

1
ความเข้าใจของฉันคือว่ามีเครื่องมือที่ทำเช่นนี้โดยไม่ต้อง ECHO สิ่งที่พวกเขาทำคือพวกเขาส่งแพ็กเก็ต SYN ไปยังเราเตอร์ที่พอร์ต 80 และรอ ACK ผมแค่อยากจะยืนยันว่านี่คือสิ่งที่มันเป็น ... ที่นี่เป็นเครื่องมือเชิงพาณิชย์netscantools.com/nstpro_ping.html
GeorgeU

คำตอบ:


6

ฉันเชื่อว่าคุณกำลังอ้างถึงสาธารณูปโภคเหล่านี้:

http://www.vdberg.org/~richard/tcpping.html

http://michael.toren.net/code/tcptraceroute/

ตั้งแต่ tcpping ต้องใช้ tcptraceroute ฉันจะเริ่มต้นด้วย tcptraceroute

ผู้เขียน tcptraceroute ระบุว่าไม่เหมือนกับ traceroute แบบดั้งเดิม "โดยการส่งแพ็กเก็ต TCP SYN แทน UDP หรือ ICMP ECHO แพ็คเก็ต tcptraceroute สามารถข้ามตัวกรองไฟร์วอลล์ทั่วไป"

เพิ่มเติม: เป็นที่น่าสังเกตว่า tcptraceroute ไม่เคยสร้างการเชื่อมต่อ TCP กับโฮสต์ปลายทางอย่างสมบูรณ์

ดังนั้น tcptraceroute จึงไม่ได้วัดเวลาที่ใช้ในการจับมือแบบสามทางจนเสร็จสมบูรณ์เพราะนั่นไม่เคยเกิดขึ้น มันวัดเวลาจาก SYN เริ่มต้นถึง SYN / ACK บางครั้งสิ่งนี้เรียกว่าเป็นการสแกนการเชื่อมต่อที่เปิดครึ่งหนึ่ง

จาก manpage ของ nmap:

          This technique is often referred to as half-open scanning,
          because you don’t open a full TCP connection. You send a SYN
          packet, as if you are going to open a real connection and then
          wait for a response. A SYN/ACK indicates the port is listening
          (open), while a RST (reset) is indicative of a non-listener. If
          no response is received after several retransmissions, the port
          is marked as filtered. The port is also marked filtered if an
          ICMP unreachable error (type 3, code 1,2, 3, 9, 10, or 13) is
          received.

สำหรับคำถามเกี่ยวกับขนาดแพ็คเก็ตของคุณคำอธิบายข้างต้นก็มีคำตอบเช่นกัน เนื่องจาก tcptraceroute ส่งแพ็กเก็ต SYN แบบมาตรฐานจึงควรเป็นแพ็กเก็ตขนาดเล็กซึ่งอาจเป็น 64 ไบต์


0

ฉันไม่ได้ตระหนักถึงข้อกำหนดมาตรฐานหรือการดำเนินการอ้างอิงสำหรับ "TCP Ping" หรือ "TCP Traceroute" ดังนั้นคุณอาจต้องเลือกคู่ของเครื่องมือที่ใช้การทดสอบเหล่านี้แล้วใช้ packet sniffer เพื่อดูว่าเครื่องมือเหล่านั้นทำอะไร .


-2

ต้องคำนึงถึงเวลาที่ใช้ในการจัดตั้งแฮนด์เชค TCP หรือไม่

ไม่ ... เครื่องของคุณส่งแพ็กเก็ตUDP 3 ชุดพร้อม TTL (Time-to-Live) เป็น 1 เมื่อแพ็คเก็ตเหล่านั้นไปถึงเราเตอร์ hop ถัดไปเครื่องจะลด TTL เป็น 0 และจึงปฏิเสธแพ็กเก็ต มันจะส่ง ICMP Time-to-Live Exceeded (Type 11), TTL เท่ากับ 0 ระหว่างการส่ง (รหัส 0) กลับไปที่เครื่องของคุณ - พร้อมที่อยู่แหล่งที่มาของตัวเองดังนั้นตอนนี้คุณจะรู้ที่อยู่ของเราเตอร์แรกในเส้นทาง .

ข้อมูลเพิ่มเติมโปรดดูที่http://www.tek-tips.com/faqs.cfm?fid=381


+1 แต่มันไม่จำเป็นต้องส่งสามนั่นคือโดยพลการและสามารถควบคุมได้และมันจะส่งแพ็คเก็ต ICMP ไม่ใช่ UDP เป็นกฎ
Orbling

1
คำถามไม่ได้เกี่ยวกับ traceroute แบบดั้งเดิมที่ใช้ ICMP หรือ UDP สำรอง มันเป็นสิ่งที่เฉพาะเจาะจงสำหรับ Traceroute ที่อาศัยแพ็กเก็ต TCP
GeorgeU

@ กำลังติดตาม Unix traceroute ดั้งเดิมและ Traceroutes ที่เหมือน Un * x ทั้งหมดมาจนถึงทุกวันนี้โดยค่าเริ่มต้นให้ส่งแพ็กเก็ต UDP ออกมาและรับเวลา ICMP เกินแพ็กเก็ตกลับ คุณอาจนึกถึงการใช้งาน traceroute ที่ไม่เป็นมาตรฐานเช่น "tracert" ของ Microsoft
Spiff

-2

Traceroute '' เป็นเครื่องมือแก้ไขข้อบกพร่องเครือข่ายที่พยายามติดตามเส้นทางที่แพ็คเก็ตใช้ผ่านเครือข่าย Traceroute ส่งแพ็กเก็ตที่มีค่าเวลาน้อยในการถ่ายทอดสด (TTL) ที่เราเตอร์ทุกตัวค่าจะลดลง 1 และถ้า TTL ถึง 0 แพ็คเก็ตหมดอายุและถูกทิ้ง Traceroute ขึ้นอยู่กับการปฏิบัติของเราเตอร์ทั่วไปในการส่งข้อความเกินเวลา ICMP ซึ่งบันทึกใน RFC 792 กลับไปยังผู้ส่งเมื่อเกิดเหตุการณ์นี้ขึ้น

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