DotCom Skrevet 7. april 2005 Del Skrevet 7. april 2005 Hei! Driver å sliter litt med raw sockets i java. (ikke henvis meg til c a', er ikke jeg som har bestemt at dette på død og liv skal gjøres i java ) Jobber med jpcap (http://jpcap.sourceforge.net/) og har forsovidt fått det meste til å funke. Tar imot pakker, men når disse blir større enn 82 bytes (?!?), så får jeg ikke med meg data etter 82. byte... Funksjonen "packetArrived()" blir kalt av et PacketCapture objekt definert i jpcap. Noen som har jobba med jpcap og som vet hvordfor jeg bare får de første 82 bytesene med koden under? Det er forresten IPv6 jeg jobber med, så da blir det jo bare 12 bytes igjen til data, noe som er litt lite... Javadoc kan forresten finnes her: http://jpcap.sourceforge.net/javadoc/index.html Er takknemlig for all hjelp! byte data [] = null; public void packetArrived(Packet packet) { try { data = packet.getData(); RawSocket.ipVersion = data[0] >> 4; RawSocket.destinationPort = concatBytes(data[42],data[43]); RawSocket.sourcePort = concatBytes(data[40],data[41]); RawSocket.rawPacket = data; } catch (Exception e) { e.printStackTrace(); } } Lenke til kommentar
DotCom Skrevet 7. april 2005 Forfatter Del Skrevet 7. april 2005 Er det ikke typisk... Nå har jeg sitti å knødd med dette problemet i mange timer - egentlig dager, så legger jeg inn et foruminnlegg, så tar det 5 minutter før jeg løser problemet... Man kan definere snapshot lengde for pakkene som blir sniffet... For interreserte, sjekk mulige parametere til funksjonen "open()" i klassen PacketCapture... Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå