libipq

Crg crg@monster.gotadsl.co.uk
26 Oct 2001 20:55:04 +0100


Yes, I modified both the ip & tcp headers, both fields relating to
lengths, and correctly computed the new checksum.  The problem I am
seeing is unrelated to the checksum.  The modified packet is smaller
than the original one, and I am seeing some of the original data being
sent out, even though the ip/tcp lengths and the data_len passed back to
ipq_set_verdict are correct (ie the new packet size).  for example say
the original packet was 

IPHDRTCPHDRDATAAAAAAAAAAAAAAAAAAAAAAAAA and I change it to
IpHdrTcpHdrDatabbbbbbbbbbbbbb           what I see on the network is
IpHdrTcpHdrDatabbbbbbbbbbbbbbAAAAAAAAAA 

Possibly this is the way its supposed to work, ie the packet has to stay
the same size.  Just wondering if anyone knows?


> Hi,
> 
> Did you modify the ip-header and tcp-header in your packet-data before
> calling set_verdict? You also have to recalculate the checksums in both
> headers.
> 
> Joost