Come funzionano TCP Ping o Traceroute?


9

Come funziona il tcp ping o traceroute? Tiene conto del tempo necessario per stabilire l'handshake TCP?

Anche nel ping ICMP è possibile specificare la dimensione del pacchetto, è possibile farlo nel ping TCP?


Non conosco nessuno che esegua un server echo tcp; forse intendi UDP?
Chris S,

1
La mia comprensione è che ci sono strumenti che lo fanno senza ECHO. Quello che fanno è inviare un pacchetto SYN al router sulla porta 80 e attendere l'ACK. Voglio solo confermare che questo è quello che è ... ecco uno strumento commerciale netscantools.com/nstpro_ping.html
GeorgeU

Risposte:


6

Credo che ti riferisci a queste utility:

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

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

Poiché tcpping richiede tcptraceroute, inizierò con tcptraceroute.

L'autore di tcptraceroute afferma che, diversamente da un traceroute tradizionale, "Inviando pacchetti TCP SYN anziché UDP o ICMP ECHO, tcptraceroute è in grado di bypassare i filtri firewall più comuni".

Inoltre: vale la pena notare che tcptraceroute non stabilisce mai completamente una connessione TCP con l'host di destinazione.

Quindi, tcptraceroute non misura il tempo necessario per completare l'handshake a tre vie perché ciò non accade mai. Misura il tempo dal SYN iniziale al SYN / ACK. Talvolta viene definita scansione della connessione semiaperta.

Dalla 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.

Per quanto riguarda la domanda sulla dimensione del pacchetto, la descrizione sopra ha anche la risposta. Poiché tcptraceroute invia un pacchetto SYN standard, dovrebbe essere un pacchetto piccolo, forse 64 byte.


0

Non sono a conoscenza di alcuna specifica standard o implementazione di riferimento per "TCP Ping" o "TCP Traceroute", quindi probabilmente dovrai scegliere una particolare coppia di strumenti che implementano questi test e quindi utilizzare uno sniffer di pacchetti per vedere cosa fanno quei particolari strumenti .


-2

Tiene conto del tempo necessario per stabilire l'handshake TCP?

no ... la macchina invia 3 pacchetti UDP con un TTL (Time-to-Live) di 1. Quando questi pacchetti raggiungono il router hop successivo, il TTL diminuirà a 0 e quindi rifiuterà il pacchetto. Invierà un Time-to-Live Superato (Tipo 11) ICMP, TTL uguale a 0 durante il transito (Codice 0) di nuovo sulla tua macchina - con un indirizzo sorgente di se stesso, quindi ora conosci l'indirizzo del primo router nel percorso .

Ulteriori informazioni Si prega di consultare http://www.tek-tips.com/faqs.cfm?fid=381


+1 Ma non deve inviarne tre, che è arbitrario e controllabile, e invia di norma pacchetti ICMP non UDP.
Orbling

1
La domanda non riguarda il traceroute tradizionale che utilizza ICMP o l'alternativa UDP. È specifico per Traceroute che si basa su pacchetti TCP.
GeorgeU,

@Orbling l'originale traceroute di Unix e tutti i traceroute simili a Un * x fino ad oggi, per impostazione predefinita, inviano i pacchetti UDP e ottengono indietro i pacchetti ICMP superati. Potresti pensare a un'implementazione non standard di traceroute, come il "tracert" di Microsoft.
Spiff

-2

Traceroute '' è un'utilità di debug della rete che tenta di tracciare il percorso che un pacchetto prende attraverso la rete. Traceroute trasmette un pacchetto con valori TTL (small time to live). Su ogni router il valore viene diminuito di 1 e se TTL raggiunge 0 il pacchetto è scaduto e viene scartato. Traceroute dipende dalla prassi comune del router di inviare un messaggio ICMP Time Expassed, documentato in RFC 792, al mittente quando ciò si verifica.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.