当前位置: 技术问答>javascript开源软件
iis7站长之家
在tcp/ip编程时我们操作的是数据信息,我们是否可以操作打包的比如ip包的信息呢。
来源: 互联网 发布时间:2015-11-04
本文导语: 在tcp/ip编程时我们操作的是数据信息,我们是否可以操作打包的比如ip包的信息呢。 比如: IPv4首部一般是20字节长。在以太网帧中,IPv4包首部紧跟着以太网帧首部,同时以太网帧首部中的协议类型值设置为080016。 IP...
在tcp/ip编程时我们操作的是数据信息,我们是否可以操作打包的比如ip包的信息呢。
比如:
IPv4首部一般是20字节长。在以太网帧中,IPv4包首部紧跟着以太网帧首部,同时以太网帧首部中的协议类型值设置为080016。 IPv4提供不同,大部分是很少用的选项,使得IPv4包首部最长可扩展到60字节(总是4个字节4个字节的扩展)
0 4 8 12 16 19 24 31
版本 首部长度 服务类型 长度
认证 标志 段偏移量
TTL 协议 校验和
源IP地址
目的IP地址
选项 ...
我想修改服务类型或者标志或者协议,有什么办法
比如:
IPv4首部一般是20字节长。在以太网帧中,IPv4包首部紧跟着以太网帧首部,同时以太网帧首部中的协议类型值设置为080016。 IPv4提供不同,大部分是很少用的选项,使得IPv4包首部最长可扩展到60字节(总是4个字节4个字节的扩展)
0 4 8 12 16 19 24 31
版本 首部长度 服务类型 长度
认证 标志 段偏移量
TTL 协议 校验和
源IP地址
目的IP地址
选项 ...
我想修改服务类型或者标志或者协议,有什么办法
|
RAW Socket
|
还可以用libpcap构造连ip头都可以自定义的数据包
|
应用层编程可以使用libpcap(windows下对应的是winpcap库),当然如果在内核里面可以使用Netfilter框架来操作
|
同楼上,用原始socket可以改动ip包