Re: modifying the data in sk_buff

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



For it is layered in ip_packet recieve procedure,
so if u modify the device-driver-layer's sk_buff ,it will certaily work.
But u will be carefull enough....
For the device-layer is quite simple,just rcv and send, and make sure the 
data is not conrupted,or fit the checksum.
That's to say.
if u have decided to do sth in the device0driver-layer,u should do more things.
such as:
1) re-alloc the sk_buff(if the origin mem is not big enough after u inserted extra data)
      ------------u can use skbClone or skbCopy  if I am not quite old as I remembered

2) according to the packet's type re-calculate the checksum.
    maybe it will be quite cumbersome. such as IP-check sum,
    TCP-check sum.

3)what's more,in TCP header it contain the offset of the data named as Seq and Ack.
    u should chg them add/del the offset(the cumulative strLength what u have inserted)

above is what I can figure it out now,
wish u find a wayout ASAP.


----- Original Message ----- 
From: "K S SUNDEEP REDDY" <sundeep@xxxxxxxxxxxxx>
To: <shrike-list@xxxxxxxxxx>
Sent: Thursday, June 17, 2004 9:02 PM
Subject: modifying the data in sk_buff


> hi
> i am trying to write a sniffer kind of program( a linux kernel module)
> which resides just above the device driver layer and intercepts all the
> incoming packets. This program is being written for testing the robustness
> of IP protocol as a part of my final year project so i need to modify the
> data present in sk_buff structure. i have gone through several webpages
> but i am unable to find how to modify the data. can anyone suggest a good
> reference or explain how to do this.
> 
> to give you an example:
> 
> i have server program listening on port 1500 for TCP connections.
> then i use a client program to connect to this server.
> these two programs are very simple. the client sends data and the server
> prints out the received data to STDOUT.
> 
> now what i want to do is if the client sends the data "sundeep"
> i want to modify the data to "sundeep is a kernel newbie" and the server
> should receive this.
> 
> to make it more clear my program resides on the machine running the server
> application.
> 
> i have done the following (but i didnt get any results)
> 
> i used skb_copy_exapand();
> then i modified the data;
> then i recalculated all the checksums;
> 
> 
> 
> 
> -----------------------------------------------------------------------------------
> This email was sent from IIT Guwahati Webmail.If you are not the intended recipient, please contact the sender by email and delete all copies; your cooperation in this regard is appreciated.
> http://www.iitg.ernet.in
> 
> 
> 
> -- 
> Shrike-list mailing list
> Shrike-list@xxxxxxxxxx
> https://www.redhat.com/mailman/listinfo/shrike-list


-- 
Shrike-list mailing list
Shrike-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/shrike-list

[Index of Archives]     [Fedora Users]     [Centos Users]     [Kernel Development]     [Red Hat Install]     [Red Hat Watch]     [Red Hat Development]     [Red Hat Phoebe Beta]     [Yosemite Forum]     [Fedora Discussion]     [Gimp]     [Stuff]     [Yosemite News]

  Powered by Linux