003
15.10.2004, 15:53 Uhr
virtual
Sexiest Bit alive (Operator)
|
Wie auch? IP ist ein Protokol, welches mit Hilfe von IP Adressen arbeitet. Die sind dann auch im IP Packet enthalten. ARP =("Adress Resolution Protokol") Dient dazu, IP adressen ausfindig zu machen (und nutzt dazu u.a. die MAC Adresse der Ethernetkarte). Dh wenn Du ein IP Paket sendest, wirst Du wohl in der Regel davor ein ARP Paket gesendet haben, um die Adresse herauszubekommen. Folglich kann ein IP Paket kein ARP Paket enthalten, jedenfalls nicht als integralen bestandteil.
Um an ARP Pakete zu kommen, mußt du an den Ethernetframe kommen. Da steht dann ein Typfeld drin, welches den Wert 0x806 (wenn ich mich recht entsinne) hat, sollte es sich um ein ARP Paket handeln.
Um an die Ethernetframes hranzukommen, muß das Socket am ersten Parameter PF_PACKET bei der Erstellung haben, sonst wird das Socket alle Nicht-IP Pakete herausfiltern bzw. den Ethernetkram nicht an Dioch weitergeben.
Alles in allem ist das Schreiben eines Sniffers oder Spoofers zwar nicht das schwerste, jedoch solltest du wissen, was Du tust. Der Code von dir bzw. der von dir zitierte Code kann nur IP Pakete sniffen. -- Gruß, virtual Quote of the Month Ich eß' nur was ein Gesicht hat (Creme 21) Dieser Post wurde am 15.10.2004 um 15:55 Uhr von virtual editiert. |