VPN 캡처의 내부 및 외부 패킷: 크기가 다른 이유
한 캡처는 터널 인터페이스에서 평문을, 다른 캡처는 회선에서 암호화된 프레임을 봅니다. MTU를 탓하기 전에 둘 다 읽으세요.
터널 인터페이스에서 1400바이트 패킷을 캡처하고, 물리 인터페이스에서 다시 캡처하면 숫자가 맞지 않습니다. 주소도 다르고 크기도 다르며, 두 번째 파일은 다른 대화처럼 보입니다. 고장 난 것은 없습니다. 서로 다른 두 패킷이 서로 다른 두 계층에 있고, 그 사이의 간격이 터널이 트래픽에 하는 일입니다. MTU를 탓하기 전에 두 관점을 모두 읽으세요.
두 관점, 그리고 각각이 보여 주는 패킷
터널 인터페이스에서 캡처한 것은 보호가 적용되기 전의 원래 출발지와 목적지를 담은 애플리케이션 페이로드, 즉 내부 패킷을 보여 줍니다. 물리 인터페이스의 캡처는 IP 헤더, 전송 헤더, 캡슐화, 그리고 페이로드로서 암호화된 내부 패킷, 즉 외부 패킷을 보여 줍니다. 같은 대화지만 다른 객체입니다. 파일에 어느 쪽이 들어 있는지 이름 붙이면 불일치는 더 이상 수수께끼가 아닙니다.
크기 차이는 오버헤드이고 주소 차이는 설계이므로, 뒤집어 보면 혼란은 예측 가능해집니다. 사람들은 내부 1400바이트 패킷과 외부 1450바이트 패킷을 비교하고 뭔가 잘못됐다고 판단해 결코 원인이 아니었던 MTU 설정을 바꾸기 시작합니다. 파일에는 인터페이스와 계층을 라벨로 붙이세요, 그것은 읽는 사람이 가장 먼저 필요로 하고 사람들이 가장 먼저 빠뜨리는 것이기 때문입니다.
캡처를 시작하기 전에 계층을 정하세요
첫 패킷이 기록되기 전에 어느 계층이 질문에 답할지 정하세요. MTU 질문은 보통 헤더가 쌓이고 경로의 한계가 드러나는 외부 관점을 필요로 합니다. 애플리케이션 질문은 보통 관심 있는 페이로드가 아직 존재하는 내부 관점을 필요로 합니다. 계획 없이 둘 다 캡처하면 파일 두 개와 결론 없음이 남습니다.
무해하고 허가된 테스트를 사용하고 관심 있는 출발지, 목적지, 시간으로 필터링하세요. 수집 전에 캡처 도구의 인터페이스와 필터 옵션을 읽으세요, 메타데이터로 충분한 경우가 많고 페이로드보다 공유하기 훨씬 쉽기 때문입니다. 내부 캡처는 기본적으로 민감하게 다루세요, 경로의 더 먼 지점에서야 보호되는 평문 애플리케이션 데이터를 담고 있기 때문입니다.
크기 차이에 실제로 들어 있는 것
외부 패킷은 추가 헤더와 보호 재료를 운반하며, 얼마나 운반하는지는 프로토콜과 그 옵션에 달려 있습니다. 경로에서의 단편화, 집약, 재정렬은 하나의 내부 패킷과 그것을 나르는 외부 패킷 사이의 겉보기 일대일 관계를 깨뜨릴 수 있으므로 크기별 비교가 항상 가능한 것은 아닙니다. MTU 결함이 의심되면 크기 피드백과 트래픽이 멈추는 지점을 찾아 애플리케이션이 보고하는 것과 비교하세요. 응답 없는 재전송 패턴은 다음 홉 크기를 담은 ICMP 오류와 다른 신호입니다.
호스트를 떠난 패킷 하나는 원격이 그것을 받았는지 아무것도 증명하지 않습니다. 캡처가 자신의 인터페이스에서 끝난다면 커널이 무언가를 내보냈다는 것만 보여 준 것이고, 그것은 경로에 대해 얻을 수 있는 가장 약한 증거입니다. 캡처는 같은 목적지, 같은 작업, 같은 크기로 변수 하나만 바꿔 두 번 실행하는 재현 가능한 증상과 결합하세요.
오프로드를 숫자로 읽기
호스트 측 세그멘테이션과 다른 오프로드는 두 번째 왜곡을 더하며, 로컬 캡처가 회선과 어긋나게 만드는 원인입니다. 로컬 캡처는 어댑터가 나중에 분할하는 버퍼를 보여 줄 수 있으므로 링크의 프레임은 파일이 시사하는 것보다 작고 더 많습니다. 그래서 캡처 파일의 큰 버퍼는 거대한 프레임이 모든 링크를 통과했다는 증거가 되지 않습니다. 크기가 결론에 중요하다면 캡처를 어디서 떴는지와 그 인터페이스에서 오프로드가 활성화돼 있었는지를 기록하세요.
그렇지 않으면 경로의 동작이 아니라 호스트의 편의를 재는 것입니다. 인터페이스와 오프로드 상태를 라벨로 붙인 파일 두 개면 이런 논쟁의 대부분이 금세 정리됩니다.
캡처가 증거이기를 멈추는 지점
암호화된 외부 패킷이 보인다는 것은 이 테스트 조건에서 보호 경계가 존재함을 보여 줄 뿐, 기기의 다른 애플리케이션, 운영자의 처리, 엔드포인트 자체의 상태에 대해서는 아무 말도 하지 않습니다. 터널 안에서 평문이 보인다고 터널이 깨진 것도 아닙니다, 암호화 지점 위에서 캡처했다는 뜻이고 그것은 볼 만한 정당한 위치입니다. 캡처는 장소에 대한 증거이지 시스템에 대한 판결이 아니며, 티켓도 그렇게 서술해야 합니다. 보고서에 범위 문장을 남기세요, 그것이 하나의 관찰이 감사 주장으로 변하는 것을 막기 때문입니다.
각 파일에 인터페이스, 필터, 타임스탬프를 붙여 이름 짓고 조사가 끝나면 삭제하세요. tcpdump 설명서는 여기서 사용한 인터페이스와 필터 플래그를, 캡처를 작게 유지하는 것들까지 포함해 기록하고 있습니다.
증거를 공유해야 한다면 페이로드가 아니라 크기, 타임스탬프, 플래그를 공유하세요. 질문은 패킷 크기에 관한 것이었고, 답에 누군가의 데이터가 필요한 경우는 드뭅니다.