공격 표면을 완전히 이해하고 있는지 확인하기 위해 가끔 컴퓨터의 열려 있는 포트를 감사합니다. 오늘 이 작업을 수행했을 때 mtr이 높은 UDP 포트(실행할 때마다 변경되는 것 같음)에서 수신 대기하고 있음을 발견했습니다. 왜 이런 일이 일어나는지 아는 사람이 있나요? 매뉴얼을 간략히 살펴보고 구글 검색도 해봤지만 이에 대한 논의는 찾을 수 없습니다.
재현 단계:
mtr 8.8.8.8
한 창에서 실행하고 다른 창에서 실행sudo lsof -i udp | grep mtr
고쳐 쓰다:
무슨 뜻인지 명확히 하기 위해 수신 UDP 포트에서 lsof의 출력은 다음과 같습니다.
mtr 31791 user 8u IPv4 221685 0t0 UDP *:39850
답변1
짧은 답변: 이것이 Traceroute가 작동하는 방식입니다.
긴 대답: Traceroute는 초기 TTL이 1인 UDP 패킷을 보내는 방식으로 작동하며(대부분의 Traceroute 프로그램은 기본적으로 이 작업을 수행하며 일반적으로 TCP 또는 ICMP를 사용하도록 명령줄에서 수정할 수 있음) TTL 값을 단조롭게 늘립니다. 이를 통해 원래 발신자는 TTL이 만료될 때 각 후속 라우터로부터 "패킷 시간 초과 메시지"를 얻을 수 있으며 결국에는 "패킷을 안전하고 건전하게 만듭니다!"를 반환할 수 있습니다. 원래 발신자( mtr
이 경우)는 단순히 이러한 패킷 만료 메시지를 수신하고 만료된 TTL로 인해 추적이 종료되는 각 지점에 정보를 인쇄합니다.