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?
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?
Risposte:
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.
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 .
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
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.