Chcę otrzymać nieprzetworzony pakiet TCP, a następnie wysłać go z tym samym obciążeniem.Jak uzyskać surowy pakiet TCP w języku C#?
To powinno wyglądać mniej więcej tak:
void OnPacketReceived(TcpPacket p)
{
byte [] body = p.GetBody();
}
UWAGA: Muszę pakiet TCP, a nie ramki Ethernet.
mogę być w 100% nie tak, ale nie jestem pewien, czy jest to możliwe do zrobienia z kodu zarządzanego. O ile mi wiadomo, biblioteka gniazd w C# używa wyłącznie strumieni, a tym samym oddziela granice pakietów. –
well pozwala sprawdzić, czy ktoś mógł to złamać. –
Czy obejrzałeś http://pcapdotnet.codeplex.com/ To jest wrapper .net wokół WinPcap. –