2010-02-13 5 views
-1

C++의 패킷에서 http 헤더를 검색하는 방법은 무엇입니까?패킷의 http 헤더?

어떤 샘플 코드 또는 자습서가 큰 도움이 될 수 있습니다 ..

고맙습니다 ..

참고 :! WinPcap을 스니핑 패킷에 사용 된 이러한 패킷이 이미 TCP 만 할 filterd되고 HTTP/s 프로토콜 .. 유일한 문제는 패킷의 http 헤더를 디코딩하는 방법입니다.

+0

HTTP 패킷이 어떻게 생겼는지 아십니까? http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol – oneat

+0

네, 분명히 어떻게 생겼는지 알고 있습니다. 문제는 제가 데이터 또는 HTTP 헤더가 패킷에서 winpcap에 의해 검색되는 방법입니다. – jerams

답변

0

C++ network library이 검색 결과 일 수 있습니다.

특히 http::parser 및 해당 parse_http_headers 회원 기능을 확인하십시오. 메시지 헤더의 내용으로 유형 http::message의 오브젝트를 채 웁니다.

lib는 아직 개발 중이며 문서가 부족합니다. 따라서 소스를 찾아 보는 것이 가장 좋은 방법 인 것 같습니다.하지만 걱정하지 마십시오. 매우 읽기 쉽습니다.

1

버퍼로 헤더를 읽은 경우 이미 HTTP specification을 사용합니다.

헤더를 읽을 필요가있는 경우, 로우 레벨 네트워크 lib가 깔끔하도록 ASIO 또는 boost::asio (동일한 lib)을보십시오. 또는 하위 네트워킹과 높은 수준의 네트워킹을 모두 지원하는 전체 C++ 프레임 워크 인 Qt을 고려하십시오 (많이). 거기에 사용할 수있는 HTTP 클라이언트/서버 클래스가 있습니다.

또는 소켓()을 열고 직접 읽습니다. Eww.