2017-05-16 5 views
0

에 HttpResponseDatagram 및 HttpResponseLayer 만들 수 있습니다 어떻게 내가 TCP 패킷에서 HTTP 응답 바디 얻으려고 pcap.net내가 pcap.net

IpV4Datagram ip = packet.Ethernet.IpV4; 
     TcpDatagram tcp = ip.Tcp; 
     HttpDatagram http = tcp.Http; 
    // HttpResponseDatagram resdat=http.; How can i create them? 
    // HttpResponseLayer resp; 
if (tcp.Http.Body != null && http.IsResponse) 
      body = resp.Body.ToString(); 

에서 이러한 개체를 만들 캔트. 누군가 다른 사람을 도울 수있는 다른 방법이 있다면?

+0

_packet_ 레버에서 작업하는 이유가 있습니까? 대부분의 사이트는 1460 바이트 영역에서 패킷 크기를 실행하며 일반적인 페이지는 그 내용이 여러 번 있습니다. –

+0

나는 모든 패킷을 수신 대기 TCP 수신기를 만들고있어. 패킷 수에는 문제가 없습니다. –

답변

0

Pcap.Net User Guide에는 a section about sending packets이 있습니다. 해당 섹션에는 HttpRequestLayer을 만드는 방법에 대한 예제가 있으며 HttpResponseLayer을 만드는 방법은 매우 비슷합니다.

HttpRequestLayer httpLayer = 
    new HttpRequestLayer 
    { 
     Version = HttpVersion.Version11, 
     Header = new HttpHeader(new HttpContentLengthField(11)), 
     Body = new Datagram(Encoding.ASCII.GetBytes("hello world")), 
     Method = new HttpRequestMethod(HttpRequestKnownMethod.Get), 
     Uri = @"http://pcapdot.net/", 
    }; 

HttpResponseDatagram

는 HTTP 패킷을 파싱하여 생성된다.

packet.Ethernet.IpV4.Tcp.Http 

을 수행하여 예를 들어 는 패킷을 분석하지 않고 Datagram을 만드는 간단한 방법은 없습니다.