Packet Sniffing and Injection
Packet Sniffing using libpcap and packet injection using libnet can (hopefully) allow you to implement (ahem to some extent) your own network stack without having to modify the kernel. The only thing to consider is that this is like basically implementing a kernel-level module (for want of a better term) in user-space. So, there may be performance hits in terms of processing power (you're basically implementing two parallel network stacks). Also, because it's in user-space, it will be a mission to any network layer interception of application data that needs to use your particular stack - which basically means that each application that's supposed to use your new stack will have to be modified. Whew. Errors ommissions and random events of unpleasantness excepted.
Some posts on kernel level vs user level network stack implementations :
http://www.ussg.iu.edu/hypermail/linux/kernel/9611.0/0102.html
Some more considerations:
http://www.tcpdump.org/lists/workers/2004/03/msg00152.html
Implementing network protocols at user level:
http://citeseer.csail.mit.edu/thekkath93implementing.html
Some posts on kernel level vs user level network stack implementations :
http://www.ussg.iu.edu/hypermail/linux/kernel/9611.0/0102.html
Some more considerations:
http://www.tcpdump.org/lists/workers/2004/03/msg00152.html
Implementing network protocols at user level:
http://citeseer.csail.mit.edu/thekkath93implementing.html
0 Comments:
Post a Comment
<< Home