![Nmap 추적 경로가 왜 그렇게 빠른가요?](https://rvso.com/image/1595496/Nmap%20%EC%B6%94%EC%A0%81%20%EA%B2%BD%EB%A1%9C%EA%B0%80%20%EC%99%9C%20%EA%B7%B8%EB%A0%87%EA%B2%8C%20%EB%B9%A0%EB%A5%B8%EA%B0%80%EC%9A%94%3F.png)
Nmap의 Traceroute 옵션을 사용하면 홉이 하나만 표시되며 속도가 매우 빠릅니다. 1로 시작하는 대신 올바른 TTL을 추측하려고 시도한다는 점에서 추적 경로와 다르게 작동한다는 것을 알고 있습니다. 그런데 RTT가 왜 그렇게 빠른가요? 이것을 10번 반복했는데 RTT는 항상 0.02 - 0.03ms 범위에 있었습니다.
# nmap -Pn -T4 --traceroute xxx.xxx.xxx.xxx
Starting Nmap 6.40 ( http://nmap.org ) at 2019-06-25 12:25 PDT
Nmap scan report for xxx.xxx.xxx.xxx
Host is up (0.00013s latency).
Not shown: 991 filtered ports
PORT STATE SERVICE
<redacted>
TRACEROUTE (using port 113/tcp)
HOP RTT ADDRESS
1 0.03 ms xxx.xxx.xxx.xxx
Nmap done: 1 IP address (1 host up) scanned in 4.74 seconds
표준을 사용하면 traceroute -T
8개의 홉이 표시됩니다. 이를 10회 반복하면 0.77 - 1.20ms 사이의 최종 RTT 범위가 표시됩니다. 두 서버 모두 서로 10마일 이내의 빠른 전용 인터넷에 있지만 라우터 처리 시간을 고려하면 0.03ms RTT는 비현실적인 것 같습니다.
답변1
로그에 Nmap의 Traceroute가 TCP 프로브를 포트 113(ident 서비스)으로 전송하여 작동하는 것으로 표시됩니다. 내 생각에는 서버의 방화벽이 어떤 이유로 해당 포트로 나가는 연결을 차단하고 Nmap이 프로브에 대한 일반적인 응답으로 해석하는 TCP RST를 위조하여 차단하는 것 같습니다. (대부분의 경우 실제로 최종 홉에서 TCP RST를 수신했기 때문입니다.)
와 비교해보세요 traceroute --tcp=113
.
들어오는 Ident 연결을 거부하는 것은 정상입니다. 그러나 나가는 연결에 대해 동일한 작업을 수행하는 것은 거의 항상 전혀 쓸모가 없습니다. (화물 수집 방화벽 규칙?)