이상한 행동을 발견했습니다(적어도 나갈 수는 없었습니다).
플랫 IP, 패킷 크기를 지정합니다.
ping -s 128 8.8.8.8
나는 얻다:
PING 8.8.8.8 (8.8.8.8) 128(156) bytes of data.
72 bytes from 8.8.8.8: icmp_req=1 ttl=43 (truncated)
플랫 웹사이트, 패킷 크기를 지정합니다.
ping -s 128 www.google.com
나는 얻다:
PING www.google.com (173.194.35.19) 128(156) bytes of data.
136 bytes from mil01s16-in-f19.1e100.net (173.194.35.19): icmp_req=1 ttl=52 time=8.36 ms
그렇다면 ping 순수 IP 패킷 크기가 잘리는 이유는 무엇입니까?
~에서평평한이봐, 나는 다음을 얻습니다:
-s packetsize: 보낼 데이터 바이트 수를 지정합니다. 기본값은 56이며, 이는 8바이트의 ICMP 헤더 데이터와 결합되면 64개의 ICMP 데이터 바이트로 변환됩니다.
답변1
이는 Google DNS 서버에서 부과한 제한사항인 것 같습니다. 그들은 전송된 패킷의 크기에 관계없이 응답을 72바이트로 제한하는 것으로 보입니다. 이는 서버가 일종의 DOS 공격에 사용되는 것을 방지하거나 대규모 핑 응답으로 인해 업링크가 과부하되는 것을 방지하는 방법일 수 있습니다.
바라보다Ken Felix 보안 블로그. 그가 썼다:
예를 들어 Google을 예로 들면 거기에는 ipv4 DNS 서버가 있고 누가 매초 핑을 보낼지 신은 아십니다. 따라서 그들은 icmp(에코 응답) 속도 제어를 배포했습니다.
[예시생략]
따라서 내 200바이트 에코 요청은 72바이트만 반환했습니다. 그렇지 않으면 아웃바운드로 더 많은 ICMP 트래픽이 발생하게 되어 DNS 응답의 전체 목표 또는 기타 중요한 비즈니스 서비스 제공과 충돌하게 됩니다.