콘텐츠로 이동

패킷 캡처

vifdump는 Argo 데이터 플레인의 가상 인터페이스에서 패킷을 캡처합니다. 다섯 가지 명령어 모두 F5 소유이며, debug API에는 포함되어 있지 않습니다.

이 페이지에 출력이 없는 구체적인 이유

섹션 제목: “이 페이지에 출력이 없는 구체적인 이유”

Site CLI에서 인수 개수(arity)는 인수 없이 명령어를 실행하여 확인할 수 있습니다 — not sufficient args for command <name>이라는 응답을 반환합니다. 읽기 전용 명령어에는 안전한 방법입니다. 이 문서 작업 중 vifdump에 적용했을 때, 아직 등록 중이던 노드에서 아무런 오류도 반환되지 않았습니다. 캡처가 시작되었는지 여부는 알 수 없는데, 확인하기 전에 노드가 삭제되고 재구축되었기 때문입니다.

이것이 바로 하네스 설계의 근거입니다: 실행은 기본적으로 거부되며, 거부 목록 방식이 아닙니다. vifdump는 누구도 생각하지 못했기 때문에 거부 목록에 없었습니다. 명시적인 허용 목록만이 아무도 생각하지 못한 명령어를 거부할 수 있습니다.

지정된 vif에서 패킷을 캡처합니다.

Terminal window
execcli vifdump <vif-id> [options]

vif id는 vif --list에서 가져오십시오.

하나의 vif 또는 모든 vif에서 드롭된 패킷을 캡처합니다.

Terminal window
execcli vifdump-d <vif-id|all>

dropstats와 함께 사용합니다: dropstats는 드롭이 발생하고 있음과 어떤 카운터가 증가하는지 알려주며, vifdump-d는 해당 패킷을 보여줍니다.

이전 실행에서 남겨진 캡처를 중지합니다.

Terminal window
execcli vifdump-stop

어플라이언스 자체의 설명은 “이전 실행이 비정상적으로 종료된 경우 vifdump 명령어 중지”로, 장애 모드가 예상된 것임을 알 수 있습니다: 캡처는 자신을 시작한 세션보다 오래 지속될 수 있습니다. vifdump를 실행했고 아직 진행 중인지 확실하지 않다면, 이 명령어를 실행하십시오.

캡처 파일을 Argo 컨테이너에서 호스트의 /tmp/vifdump/로 복사합니다.

Terminal window
execcli vifdump-file-cp

docker cp $(argo):/tmp/. /tmp/vifdump/와 동일합니다. 캡처가 컨테이너 내부에 기록되기 때문에 필요합니다.

Argo 컨테이너에서 .pcap 파일을 삭제합니다.

Terminal window
execcli vifdump-file-rm

작업이 완료되면 이 명령어를 실행하십시오. vifdump-stop과 함께 캡처 작업의 정리 쌍을 구성하며, 다른 누군가가 캡처를 실행 중인 상태로 남겨두었을 수 있는 노드를 인계받았을 때 가장 먼저 실행해야 하는 명령어들입니다.