2012-03-28 4 views
1

Wireshark 파일 (pcap 확장자)이있는 송신 버퍼를 사용하여 Pcap.net을 사용하여 패킷을 보내고 있으며 재생 중에 또는 재생하기 전에 패킷 IP를 변경할 수있는 방법이 있습니까? 여기에 내가 전송하기 전에 파일의 패킷으로 버퍼를 채우기 :Pcap.net 프로젝트로 패킷 조작

int numPackets = 0; 
Packet packet; 
while (inputCommunicator.ReceivePacket(out packet) == PacketCommunicatorReceiveResult.Ok) 
{ 
    ILayer layer = packet.Ethernet.ExtractLayer(); --> new layer 
    sendBuffer.Enqueue(packet); 
    ++numPackets; 
} 
+0

대기열에 들어가기 전에 패킷을 조작해야합니다. 패킷 파싱 라이브러리 인 Pcap.NET이 사용하는 패킷 넷은 Packet.NET이라고 생각합니다. 당신이 할 수있는 일을 살펴보십시오. –

+0

어떤 예를 들어 설명하면 어떨까요? – user979033

+0

내 코드를 업데이트하고 새 레이어를 만들지 만 계속 진행하지 마세요. – user979033

답변

1

대답은 '예'입니다.

나는 discussion in Pcap.Net forum이 도움이된다고 생각합니다.

일반적으로 관련된 모든 계층 (이더넷, IPv4 및 IPv4 페이로드)을 추출하고 IPv4의 계층 IP를 변경하고 새 패킷을 작성해야합니다.

IPv4 체크섬이 올바른지 확인하려면 IPv4 계층 체크섬 필드를 null로 설정해야합니다.

TCP 또는 UDP가 있고 체크섬이 올바른지 확인하려면 관련 전송 계층을 추출하고 체크섬 필드를 null로 변경 한 다음 이더넷, IPv4, 전송 및 전송 페이로드에서 패킷을 작성해야합니다 레이어.

이 정보가 도움이되기를 바랍니다.