类TCP/IP私有协议

时间:2014-06-29 04:05:14
【文件属性】:

文件名称:类TCP/IP私有协议

文件大小:245KB

文件格式:TGZ

更新时间:2014-06-29 04:05:14

私有协议 隔离传输 linux TCP/IP

将TCP/IP协议从linux内核中摘出来,作为一个独立的模块运行(为与TCP/IP一起运行,我修改了IP协议号和TCP协议号部分,命名为 UCP/UNP,协议簇编号为28,三层协议号修改为0x7800,四层协议号修改为66)。由于时间有限,所以开发出的模块目前只能用于两个主机之间的通信。(我做这项工作最初是考虑用在协议隔离传输上) 测试例子 socketsend.c 发送 sockettest.c接收 其他是模块编译源码 ------------------------------------------------- 使用说明: 编译模块:修改Makefile中的KERNELDIR,指定linux源码路径,然后make 插入模块:insmod my_inet.ko direction=in 另外一端insmod my_inet.ko direction=out 测试:测试采用发文件的方式,请自行修改socketsend.c和sockettest.c中open的文件。编译 然后在out端键入./sockettest 223.255.255.1 在in端键入./socketsend 223.255.255.2 -------------------------------- 模块绑定接口为eth0, 源IP设固定值为223.255.255.1,目的IP设固定值为223.255.255.2。这两个IP地址是虚拟的,与真实的eth0 的IP地址没有任何关系,只要与测试案例中保持一致即可,这两个虚拟IP地址也可以不在同一网段。


【文件预览】:
nnn
----inetpeer.c(16KB)
----af_inet.c(45KB)
----protocol.h(4KB)
----tcp.h(51KB)
----protocol.c(2KB)
----tcp_cong.c(7KB)
----Module.symvers(0B)
----tcp_ipv4.c(58KB)
----inet_connection_sock.c(24KB)
----socketsend(9KB)
----arp.c(12KB)
----config-2.6.26-2-686(90KB)
----ip_output.c(40KB)
----ip_fragment.c(19KB)
----sockettest(8KB)
----ip_input.c(16KB)
----checksum.h(2KB)
----inet_timewait_sock.c(12KB)
----tcp_output.c(73KB)
----arp.h(5KB)
----af_inet.h(587B)
----globalvar.c(475B)
----tcp_input.c(140KB)
----tcp.c(81KB)
----inet_sock.h(24KB)
----inet_common.h(21KB)
----inetpeer.h(2KB)
----ip_forward.c(3KB)
----my_buff.h(7KB)
----tcp_states.h(1KB)
----tcp_minisocks.c(22KB)
----sockettest.c(2KB)
----modules.order(41B)
----ip.h(15KB)
----Makefile(611B)
----inet_hashtables.c(12KB)
----tcp_timer.c(16KB)
----socketsend.c(3KB)

网友评论

  • 内核版本比较低,估计新的发行版都编不过
  • 没有什么注释,一大堆源文件,基本没用。