ubuntu14.04에서 libpcap을 사용하여 패킷을 캡처하고 http를 사용하여 전송된 html 조각을 얻고 싶지만 얻은 결과는 동일한 상황에서 Wireshark로 얻은 데이터와 일치하지 않습니다.
현재 코드는 다음과 같습니다.
으아악서버에는 간단한 HTML이 있습니다. 브라우저를 사용하여 서버 http://123.206.7.47/test.html에 액세스하면 Wireshark(bpf와 동일)는 다음과 같이 10개의 패킷을 캡처합니다.
내 프로그램에서 디버거를 사용할 때 보이는 것은 다음과 같습니다. 이 그림은 위 그림의 네 번째 패킷(크기 474)에 해당합니다.
Unsigned char * 패킷이 불완전한 순서로 나타나는 이유는 무엇입니까? 그리고 tcp_data가 왜 그렇게 짧은가요?
내 코드에 누락된 libpcap 구성이 있습니까? 아니면 다른 이유 때문입니까?
한 가지 더 추가할 점은 다른 웹사이트를 방문할 때 가끔 전체 HTTP 요청을 캡처할 수 있지만 방문한 웹페이지에서는 캡처할 수 없다는 것입니다.
이미 해결되었습니다. 문자를 읽으려면 caplen을 누르세요.
printf("%s")
输出不全似乎是因为某个二进制数据是