Ich möchte UDP-Pakete erfassen, die für einen lokalen Port bestimmt sind, der Filterausdruck ist wie udp port 20000
. Ich bemerke, wenn es IP-Fragmentierung auf einem UDP-Paket gibt, kann libpcap nur das erste IP-Fragment erfassen. Ich denke, der Grund ist das zweite IP-Fragment nicht mit UDP-Header (ich denke, es ist das gleiche für TCP), so dass libpcap sie nicht mit dem Filter Express udp port 20000
erfassen kann.libpcap kann IP-Fragmente nicht erfassen
gibt es eine Problemumgehung dafür? oder andere Bibliotheken, die Pakete erfassen können, die an einen bestimmten lokalen Port gerichtet sind?
danke!
Wenn ein UDP-Paket fragmentiert ist und die Fragmente ihre Quelle/Ziel nicht identifizieren, wie werden sie dann im Namen von Zeus 'Butthole an den richtigen Host und die Anwendung weitergeleitet? –
Das zweite Fragment ist mit IP-Header, aber kein UDP-Header. Der IP/TCP-Stack wird das erste und zweite IP-Fragment zusammenstellen, bevor es das gesamte UDP-Paket an die Anwendung liefert. Aber es scheint mir, dass libpcap das zweite IP-Fragment nicht erkennen kann. – misteryes
Wie würde ein TCP/IP-Stack wissen, dass das zweite Fragment zum selben Socket gehört wie das erste ohne den UDP-Header? Vielleicht müssen Sie die Montage selbst machen - was eigentlich nicht so schwer sein sollte. –