ICMP 요청은 서버가 현재 온라인 상태인지 확인하는 데 자주 사용됩니다. 노드의 가용성 확인은 IP 주소를 지정하는 ping 명령을 사용하여 수행됩니다.
ping xx.123.xx.123
xx.123.xx.123에서 32바이트 데이터로 패킷 교환:
xx.123.xx.123의 응답: 바이트 수=32 시간=3ms TTL=64
xx.123.xx.123의 응답: 바이트 수=32 시간=3ms TTL=64
동시에 원격 서버는 이 순간 응답을 보내고 명령 출력에서 사용 가능한 것이 분명합니다.
이 경우 요청을 보내는 원격 서버에는 로그에 이벤트 데이터가 없습니다. 때로는 현재 icmp 요청을 보내는 사람이 누구인지 확인해야 하는 경우가 있습니다. 이를 위해 tcpdump 유틸리티를 사용합니다.
1.tcpdump를 설치합니다.
apt update
apt install tcpdump
2. 네트워크 인터페이스를 정의해보자
apt install net-tools
ifconfig
이 명령은 모든 네트워크 인터페이스를 표시하며 패킷을 수신할 인터페이스(이 경우 enp3s0)를 선택해야 합니다
tcpdump -i enp3s0 icmp and icmp[icmptype]=icmp-echo -n
listening on enp3s0, link-type EN10MB (Ethernet), snapshot length 262144 bytes
21:52:20.352600 IP xx.234.xx.234 > xx.123.xx.123: ICMP echo request, id 1, seq 57, length 40
21:52:21.360715 IP xx.234.xx.234 > xx.123.xx.123: ICMP echo request, id 1, seq 58, length 40
파일에 쓰려면 다음 명령을 사용하십시오:
tcpdump -i enp3s0 icmp and icmp[icmptype]=icmp-echo -n >> /var/log/ping.log
이 명령은 icmp 프로토콜을 사용하여 이 호스트에 액세스한 모든 IP 주소를 파일에 기록합니다.
이 명령은 하드웨어 리소스를 낭비하므로 영구적으로 활성화된 상태로 두지 않는 것이 좋습니다. 이 예제는 디버깅 목적으로 사용하기 위한 것입니다.
No Comments Yet