2013-08-11 5 views
0

centos 6.4에 wireshark를 성공적으로 설치했습니다. tshark를 완벽하게 작동시키는 명령을 실행할 수 있습니다. gdb를 실행하여 이러한 두 종류의 패킷을 분석해야하는 응용 프로그램을 작성하면서 tcp 및 udp 패킷을 디코딩하는 방법을 배우고 싶습니다. libtool --mode =를 실행하면 gdb tshark가 실행되고 여기서 멈추게됩니다 (gdb) 아무것도 캡처하지 않습니다. 내가 gdb를 통해 실행하기를 원하는 이유는 휠을 재발 명하고 싶지 않기 때문에 tcp와 udp가 어떻게 해부되었는지를 배우는 것입니다.Tshark가 tcp와 UDP 렙터를 배우기 위해 gdb를 통해 실행되지 않음

답변

1

그냥 gdb를 통해 tcp 해부를 배우는 것이 실용적이지 않다고 생각합니다.

왜 직접 소스 코드를 검사하지 않습니까? here을 다운로드 할 수 있습니다. 모든 dissector는 "epan/dissectors /"아래에 있습니다.

특별히 packet-tcp.c 및 packet-udp.c 파일, 특히 함수 dissect_tcp() 및 dissect_udp()를 살펴볼 수 있습니다. 또한 해독기 작성을위한 this 자습서를 통해 빠르게 읽으면이 프로젝트의 코딩 규칙을 빨리 이해하는 데 도움이 될 수 있습니다.

+0

감사합니다.하지만 이미 폴더에 들어가서 packet-tcp.c와 packet-http.c를 모두 가져 왔음을 언급하기 전에 감사드립니다. 이제 문제는 유동을 따라갈 수 있습니다. 이제 이더넷 패킷의 전체 페이로드를 캡처 할 수있었습니다. 그래서 거기에서 나는 url이 존재할 때까지 그 URL을 얻을 수있을 때까지 따라 가고 싶습니다. 그래서 저는 트래버스하는 법을 모르는 코드를 가지고 있습니다. – new14

+0

문제는 여기에 내가 꼼짝 못하게 dissect_tcp (tvbuff_t * tvb, packet_info * pinfo, proto_tree * 트리)입니다. 나는 tvb, pinfo 및 나무에 대해 너무 확신하지 못합니까? 정확히이게 뭐야? – new14

+0

@ 그냥 튜토리얼을 읽고 확인하는 * tvb 전체 페이로드 또는 전체 패킷? – new14