Bagaimana cara kerja TCP Ping atau Traceroute?

9

Bagaimana cara kerja tcp ping atau traceroute? Apakah itu memperhitungkan waktu yang dibutuhkan untuk membangun jabat tangan TCP?

Juga di ping ICMP Anda dapat menentukan ukuran paket, dapatkah ini dicapai dalam TCP ping?

GeorgeU
sumber
Saya tidak tahu siapa pun yang menjalankan server gema tcp; mungkin maksud Anda UDP?
Chris S
1
Pemahaman saya adalah bahwa ada alat yang melakukan ini tanpa ECHO. Apa yang mereka lakukan adalah mereka mengirim paket SYN ke router pada port 80 dan menunggu ACK. Saya hanya ingin mengkonfirmasi ini apa adanya ... di sini adalah alat komersial netscantools.com/nstpro_ping.html
GeorgeU

Jawaban:

6

Saya percaya Anda merujuk pada utilitas ini:

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

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

Karena tcpping membutuhkan tcptraceroute, saya akan mulai dengan tcptraceroute.

Penulis tcptraceroute menyatakan bahwa tidak seperti traceroute tradisional, "Dengan mengirimkan paket TCP SYN alih-alih paket UDP atau ICMP ECHO, tcptraceroute dapat mem-bypass filter firewall yang paling umum."

Lebih lanjut: Perlu dicatat bahwa tcptraceroute tidak pernah sepenuhnya membuat koneksi TCP dengan host tujuan.

Jadi, tcptraceroute tidak mengukur waktu yang diperlukan untuk menyelesaikan jabat tangan tiga arah karena itu tidak pernah terjadi. Ini mengukur waktu dari SYN awal ke SYN / ACK. Ini kadang-kadang disebut sebagai pemindaian koneksi setengah terbuka.

Dari manual 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.

Mengenai pertanyaan ukuran paket Anda, uraian di atas juga memiliki jawabannya. Karena tcptraceroute mengirim paket SYN standar, itu harus berupa paket kecil, mungkin 64 byte.

dmourati
sumber
0

Saya tidak mengetahui spesifikasi standar atau implementasi referensi untuk "TCP Ping" atau "TCP Traceroute", jadi Anda mungkin perlu memilih sepasang alat tertentu yang menerapkan tes ini dan kemudian menggunakan sniffer paket untuk melihat apa yang dilakukan alat-alat tertentu itu .

Spiff
sumber
-2

Apakah itu memperhitungkan waktu yang dibutuhkan untuk membangun jabat tangan TCP?

tidak ... mesin Anda mengirimkan 3 paket UDP dengan TTL (Time-to-Live) dari 1. Ketika paket-paket tersebut mencapai router hop berikutnya, ia akan menurunkan TTL menjadi 0 dan dengan demikian menolak paket tersebut. Ini akan mengirimkan ICMP Time-to-Live Exceeded (Type 11), TTL sama dengan 0 selama transit (Kode 0) kembali ke mesin Anda - dengan alamat sumbernya sendiri, oleh karena itu Anda sekarang tahu alamat router pertama di jalur tersebut. .

Info lebih lanjut Silakan lihat http://www.tek-tips.com/faqs.cfm?fid=381

Pete White
sumber
+1 Tetapi tidak harus mengirim tiga, yang sewenang-wenang dan dapat dikontrol, dan mengirimkan paket ICMP bukan UDP sebagai aturan.
Orbling
1
Pertanyaannya bukan tentang traceroute tradisional yang menggunakan ICMP, atau alternatif UDP. Khususnya untuk Traceroute yang bergantung pada paket TCP.
GeorgeU
@Orbling traceroute Unix yang asli, dan semua tracerout seperti Un * x hingga hari ini secara default mengirimkan paket UDP, dan dapatkan waktu ICMP melebihi paket. Anda mungkin memikirkan implementasi traceroute yang tidak standar, seperti "tracert" Microsoft.
Spiff
-2

Traceroute '' adalah utilitas debugging jaringan yang mencoba melacak jalur yang diambil paket melalui jaringan. Traceroute mentransmisikan paket dengan nilai TTL (small time to live). Di setiap router nilainya dikurangi oleh 1 dan jika TTL mencapai 0 paket telah kedaluwarsa dan dibuang. Traceroute bergantung pada praktik perute umum untuk mengirim pesan ICMP Time Exceeded, yang didokumentasikan dalam RFC 792, kembali ke pengirim saat ini terjadi.

Stephen Lembert
sumber