Centos 6.4에 Wireshark를 성공적으로 설치했으며 tshark 명령을 실행할 수 있으며 제대로 작동합니다. 두 유형의 패킷을 모두 구문 분석해야 하는 애플리케이션을 작성 중이므로 gdb를 실행하여 tcp 및 udp 패킷을 어떻게 디코딩하는지 확인하고 싶습니다. libtool --mode=execute gdb tshark를 실행하면 여기(gdb)에서 실행되고 중지되지만 아무것도 캡처하지 않습니다.
답변1
Gdb는 실행 파일을 자동으로 실행하지 않고 로드만 합니다. 이렇게 하면 필요한 경우(예: 중단점) 먼저 설정할 수 있습니다.
프롬프트에서 "실행" 명령이 (gdb)
실행을 시작합니다. 이를 통해 tshark에 명령줄 인수를 지정할 수도 있습니다. 예를 들면 다음과 같습니다.
(gdb) run -i lo
같은 방식으로 tshark를 실행합니다 tshark -i lo
.
답변2
Wireshark 및 관련 도구 모음(mergecap, TShark 등)은 오픈 소스라는 점을 기억하세요. 단계별로 분해하는 것보다 소스 코드를 읽는 것이 더 쉬울 수도 있습니다.
TShark 애플리케이션은 특히 tshark.c
Wireshark 소스 코드 배포판의 단일 C 소스 파일( )이며 여기에서 다운로드할 수 있습니다.
https://www.wireshark.org/download/src/