Como o tcp ping ou traceroute funciona? Leva em consideração o tempo necessário para estabelecer o handshake TCP?
Também no ping ICMP, você pode especificar o tamanho do pacote, isso pode ser alcançado no ping TCP?
Como o tcp ping ou traceroute funciona? Leva em consideração o tempo necessário para estabelecer o handshake TCP?
Também no ping ICMP, você pode especificar o tamanho do pacote, isso pode ser alcançado no ping TCP?
Respostas:
Eu acredito que você está se referindo a estes utilitários:
http://www.vdberg.org/~richard/tcpping.html
http://michael.toren.net/code/tcptraceroute/
Como tcpping requer tcptraceroute, começarei com tcptraceroute.
O autor do tcptraceroute afirma que, diferentemente de um traceroute tradicional, "Ao enviar pacotes TCP SYN em vez de pacotes UDP ou ICMP ECHO, o tcptraceroute pode ignorar os filtros de firewall mais comuns".
Mais: Vale a pena notar que o tcptraceroute nunca estabelece completamente uma conexão TCP com o host de destino.
Portanto, o tcptraceroute não mede o tempo necessário para concluir o handshake de três vias, porque isso nunca acontece. Ele mede o tempo desde o SYN inicial até o SYN / ACK. Às vezes, isso é chamado de verificação de conexão semi-aberta.
Na página de manual do 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.
Quanto à sua pergunta sobre o tamanho do pacote, a descrição acima também tem a resposta. Como o tcptraceroute envia um pacote SYN padrão, ele deve ser um pacote pequeno, talvez de 64 bytes.
Não tenho conhecimento de nenhuma especificação padrão ou implementação de referência para "TCP Ping" ou "TCP Traceroute", portanto, você provavelmente precisará escolher um par específico de ferramentas que implementa esses testes e, em seguida, usar um sniffer de pacotes para ver o que essas ferramentas específicas fazem. .
Leva em consideração o tempo necessário para estabelecer o handshake TCP?
não ... sua máquina envia 3 pacotes UDP com um TTL (Time-to-Live) de 1. Quando esses pacotes atingem o roteador do próximo salto, ele reduz o TTL para 0 e, assim, rejeita o pacote. Ele enviará um tempo de vida do ICMP excedido (Tipo 11), TTL igual a 0 durante o trânsito (Código 0) de volta à sua máquina - com um endereço de origem próprio, portanto agora você sabe o endereço do primeiro roteador no caminho .
Mais informações Consulte http://www.tek-tips.com/faqs.cfm?fid=381
Traceroute '' é um utilitário de depuração de rede que tenta rastrear o caminho que um pacote percorre pela rede. O Traceroute transmite pacotes com valores TTL (time to live). Em cada roteador, o valor está sendo decrementado em 1 e se TTL atingir 0, o pacote expirou e é descartado. O traceroute depende da prática comum do roteador de enviar uma mensagem ICMP com tempo excedido, documentada no RFC 792, de volta ao remetente quando isso ocorrer.