TCP Ping 또는 Traceroute는 어떻게 작동합니까?


9

tcp ping 또는 traceroute는 어떻게 작동합니까? TCP 핸드 셰이크를 설정하는 데 걸리는 시간 만 고려합니까?

또한 ICMP ping에서 패킷 크기를 지정할 수 있습니다. TCP ping에서이를 달성 할 수 있습니까?


나는 tcp echo 서버를 운영하는 사람을 모른다. 아마도 UDP를 의미합니까?
Chris S

1
ECHO 없이이 작업을 수행 할 수있는 도구가 있다는 것을 이해합니다. 그들이하는 일은 포트 80의 라우터로 SYN 패킷을 보내고 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의 저자는 전통적인 추적 경로와 달리 "UDP 또는 ICMP ECHO 패킷 대신 TCP SYN 패킷을 전송함으로써 tcptraceroute가 가장 일반적인 방화벽 필터를 우회 할 수 있습니다"라고 말합니다.

또한 tcptraceroute가 대상 호스트와의 TCP 연결을 완전히 설정하지는 않습니다.

따라서 tcptraceroute는 결코 발생하지 않기 때문에 3 방향 핸드 셰이크를 완료하는 데 걸리는 시간을 측정하지 않습니다. 초기 SYN에서 SYN / ACK까지의 시간을 측정합니다. 이것을 반 개방형 연결 스캔이라고도합니다.

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"에 대한 표준 사양 또는 참조 구현에 대해 잘 모르므로 이러한 테스트를 구현하는 특정 도구 쌍을 선택한 다음 패킷 스니퍼를 사용하여 해당 특정 도구의 기능을 확인해야합니다. .


-2

TCP 핸드 셰이크를 설정하는 데 걸리는 시간 만 고려합니까?

아니요. 시스템은 TTL (Time-to-Live)이 1 인 UDP 패킷 3 개를 보냅니다 . 해당 패킷이 다음 홉 라우터에 도달하면 TTL이 0으로 감소하여 패킷을 거부합니다. ICMP는 전송 시간 (코드 0) 동안 ICMP TTL (Time-to-Live Exceeded) (유형 11), TTL 0을 시스템으로 다시 전송합니다. .

자세한 내용은 http://www.tek-tips.com/faqs.cfm?fid=381을 참조하십시오 .


+1 그러나 3을 보낼 필요는 없습니다. 즉, 임의적이고 제어 가능하며 UDP가 아닌 ICMP 패킷을 규칙으로 보냅니다.
Orbling

1
문제는 ICMP 또는 UDP 대체를 사용하는 기존의 추적 경로에 관한 것이 아닙니다. TCP 패킷에 의존하는 것은 Traceroute에 따라 다릅니다.
GeorgeU

@ 원래 Unix 추적 경로 및 모든 Un * x와 유사한 추적 경로를 기본적으로 오늘날 UDP 패킷을 보내고 ICMP 시간이 초과 된 패킷을 가져옵니다. Microsoft의 "tracert"와 같은 비표준 추적 경로 구현을 생각할 수 있습니다.
Spiff

-2

Traceroute ''는 패킷이 네트워크를 통과하는 경로를 추적하는 네트워크 디버깅 유틸리티입니다. Traceroute는 작은 TTL (Time to Live) 값으로 패킷을 전송합니다. 모든 라우터에서 값이 1 씩 감소하고 TTL이 0에 도달하면 패킷이 만료되어 버려집니다. Traceroute는 RFC 792에 설명되어있는 ICMP 시간 초과 메시지를 보낸 사람에게 다시 보내는 일반적인 라우터 방식에 따라 달라집니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.