PING(packet Internet grouper)은 컴퓨터 네트워크 상태를 점검, 진단하는 명령어를 말합니다. IP 기반의 네트워크에 연결된 호스트끼리의 접속 성 확인에 사용되며 응답이 돌아올 때까지 반환 시간과, 상대방 도달 경로의 혼잡 상황도 알아낼 수 있는 매우 간편한 방법입니다. 그러나 최근 들어 그 유용성과는 별개로 PING명령을 열어두는 것만으로도 ddos 공격에 활용될 소지가 있어 네트워크 관리자 및 개인 사용자들이 보안적인 요소 외에 Traffic 관리차원에서 PING명령을 막는 경우가 많습니다.
PING 명령 허용 / 차단 방법은 ICMP 프로토콜의 허용 / 차단을 의미하며 아래와 같이 각각의 운영체제에 맞게 설정하실 수 있습니다. 인터넷 및 데이터 전송에는 대부분 신뢰성을 보장하는 TCP/IP가 사용되기에 ICMP를 차단 하셔도 사용하는 서비스에는 전혀 지장이 업습니다.
▶Windows 8/9/10
시작 ▷ Windows시스템 ▷ 제어판 Windows Defender 방화벽 ▷ 고급 설정 ▷ 인바운드 규칙 ▷ 파일 및 프린터 공유(에코 요청 - ICMPv4-In) 항목을 클릭한 후 사용함을 체크하거나 체크해제하여 설정하시면 됩니다.
▶Windows Server 및 Windows 7시작 ▷ 제어판 ▷ 네트워크 및 인터넷 ▷ 네트워크 상태 및 작업 보기 ▷ 오른쪽 하단에 Windows 방화벽 ▷ 고급 설정 ▷ 파일 및 프린터 공유(에코 요청 - ICMPv4-In) 항목을 클릭한 후
사용함을 체크하거나 체크해제하여 설정하시면 됩니다.
▶Windows XP내 네트워크 환경 ▷ 네트워크 연결 보기 ▷ Windows 방화벽 설정 변경 ▷ 고급 ▷ ICMP 항목의 설정(E)… ▷ 수신 에코 요청 허용 체크
▶Windows cmd명령으로 설정하는 방법
시작 ▷ 실행 ▷ cmd를 입력 후 cmd창에 아래의 명령어를 입력하여 실행합니다.
netsh advFirewall firewall add rule name=”ICMP Block incoming V4 echo request” protocol=icmpv4:8,any dir=in action=block
또 차단한 상태를 다시 허용 하려면 차단한 명령어를 제거합니다.
netsh advfirewall firewall delete rule name="ICMP Block"
▶LinuxICMP 응답 차단 설정방법
[root] echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all |
ICMP 응답 해제 설정방법
[root] echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all |
▶ICMP(Internet Control Message Protocol) : 인터넷 제어 메시지 프로토콜로 TCP/IP에서
IP 패킷을 처리할 때 발생되는 오류 메시지를 전송 받는데 주로 쓰입니다. ICMP는 해당 호스트가 없거나, 해당 포트에 대기중에 서버프로그램이 없는 등의 에러 상황이 발생할 경우 IP헤더에 기록되어 있는 출발지 호스트(Source Host)로 이러한 에러에 대한 상황을 보내주는 역할을 수행하게 됩니다. 이 외에도 메시지를 제어(Control)하는 추가적인 기능들이 있습니다. RFC792 참조
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Code | Checksum |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| ICMP Message .... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
*ICMP 패킷 기본포맷
Type - ICMP메시지의 종류 표시. , Code - 메시지 타입 별로 추가적인 코드를 제공에 사용. , Checksum - ICMP헤더의 손상 여부 확인 용, ICMP Message - 메시지 타입 별 추가 정보