나는 많은 시간을 소비하는 일이 있습니다. 저는 Linux에 대해 잘 알지 못하지만 기본적인 관리는 할 수 있습니다.
임무는 다양한 유형의 ICMP 패킷을 수집하는 것입니다. tcpdump(제가 선호하는 방식)나 Wireshark를 통해 수집할 수 있습니다.
ping을 사용하여 에코 응답 및 에코 요청의 ICMP 유형을 얻을 수 있고 Tracepath 또는 Traceroute를 사용하여 시간 초과를 얻을 수 있습니다. 이제 제가 얻고 싶은 것은 액세스 권한이나 타임스탬프 등이 없다는 것입니다. 2종 더 필요한데 제작방법을 모르겠어요.
존재하지 않는 호스트나 잘못된 포트에 대해 핑을 시도하고 동일한 방식으로 추적 경로를 사용해 보았지만 아무런 결과도 얻지 못했습니다.
누구든지 내가 사용할 수 있는 명령과 다른 두 가지 유형의 ICMP 패킷을 얻는 방법을 제안하거나 말해 줄 수 있습니까?
답변1
iptables ... -j REJECT
별도의 대상 호스트에 한정자를 사용하여 일부 ICMP 도달 불가능한 변형을 생성할 수 있습니다. (또는 가상 머신.) 가능한 한정자는 icmp-net-unreachable
, icmp-host-unreachable
, icmp-port-unreachable
, icmp-proto-unreachable
, icmp-net-prohibited
, icmp-host-prohibited
, icmp-admin-prohibited
및 입니다 tcp-reset
.
예를 들어:
iptables -j REJECT --reject-with icmp-admin-prohibited
답변2
icmpush
필요한 것을 수행하십시오.
에서 man icmpush
:
icmpush는 명령줄에서 완전히 사용자 정의된 ICMP 패킷을 작성하기 위한 도구입니다.
리디렉션, 소스 억제, 시간 초과, 대상에 도달하지 못함, 매개변수 문제 등 ICMP 오류 유형을 지원합니다.
ICMP 메시지 유형으로는 주소 마스크 요청, 타임스탬프, 정보 요청, 에코 요청, 라우터 요청, 라우터 광고 등이 있습니다.
icmpush
GPLv2 라이센스가 있고 데비안(및 아마도 대부분의 다른 배포판)용으로 패키지되어 있으며 소스 코드는 다음에서 사용할 수 있습니다.http://www.securityfocus.com/data/tools/icmpush22.tar.gz