社区
通信技术
帖子详情
怎样将一个结构数据打成IP数据包(UNIX/C)?
hjx
2000-06-26 05:51:00
...全文
89
1
打赏
收藏
怎样将一个结构数据打成IP数据包(UNIX/C)?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
sunsetyang
2000-06-26
打赏
举报
回复
你应用层可以直接传递到ip协议层去打包。不用你去管的。如果要自己实现的话,还是比较麻烦的。首先结构的大小限制了打包,如果小于网络载体上的最大的ip包,那比较好办,直接套上就可以了;如果过大,需要分割。如果是tcp包的话,自己写非常困难。涉及到一些索引号什么的问题。
一般的,先写ip头。将ip头中的checksum置为0后计算checksum,然后是tcp/udp的头,再放入数据。好像udp/udp的头部分还有一次计算checksum的过程,你可以找本讲tcp/ip设计的书来看看。internetworking with tcp/ip volume II很不错。
tfn2k.tar.gz
什么是tfn2k? tfn2k通过主控端利用大量代理端主机的资源进行对
一个
或多个目标进行协同攻击。当前互联网中的
unix
、solaris和windows nt等平台的主机能被用于此类攻击,而且这个工具非常容易被移植到其它系统平台上。 tfn2k由两部分组成:在主控端主机上的客户端和在代理端主机上的守护进程。主控端向其代理端发送攻击指定的目标主机列表。代理端据此对目标进行拒绝服务攻击。由
一个
主控端控制的多个代理端主机,能够在攻击过程中相互协同,保证攻击的连续性。主控央和代理端的网络通讯是经过加密的,还可能混杂了许多虚假
数据
包
。整个tfn2k网络可能使用不同的tcp、udp或icmp包进行通讯。而且主控端还能伪造其
ip
地址。所有这些特性都使发展防御 tfn2k攻击的策略和技术都非常困难或效率低下。 tfn2k的技术内幕 ◆ 主控端通过tcp、udp、icmp或随机性使用其中之一的
数据
包
向代理端主机 发送命令。对目标的攻击方法包括tcp/syn、udp、icmp/ping或broadcast ping (smurf)
数据
包
flood等。 ◆ 主控端与代理端之间
数据
包
的头信息也是随机的,除了icmp总是使用 icmp_echoreply类型
数据
包
。 ◆ 与其上一代版本tfn不同,tfn2k的守护程序是完全沉默的,它不会对接收 到的命令有任何回应。客户端重复发送每
一个
命令20次,并且认为守护程 序应该至少能接收到其中
一个
。 ◆ 这些命令
数据
包
可能混杂了许多发送到随机
ip
地址的伪造
数据
包
。 ◆ tfn2k命令不是基于字符串的,而采用了"++"格式,其中是 代表某个特定命令的数值,则是该命令的参数。 ◆ 所有命令都经过了cast-256算法(rfc 2612)加密。加密关键字在程序编 译时定义,并作为tfn2k客户端程序的口令。 ◆ 所有加密
数据
在发送前都被编码(base 64)成可打印的ascii字符。tfn2k 守护程序接收
数据
包
并解密
数据
。 ◆ 守护进程为每
一个
攻击产生子进程。 ◆ tfn2k守护进程试图通过修改argv[0]内容(或在某些平台中修改进程名) 以掩饰自己。伪造的进程名在编译时指定,因此每次安装时都有可能不同。 这个功能使tfn2k伪装成代理端主机的普通正常进程。因此,只是简单地检 查进程列表未必能找到tfn2k守护进程(及其子进程)。 ◆ 来自每
一个
客户端或守护进程的所有
数据
包
都可能被伪造。 监测tfn2k的特征
【简单认识
IP
数据
包
格式】
#网络层的功能版本号(4bit):指
IP
协议版本。并且通信双方使用的版本必须一致,目前我们使用的是
IP
v4,表示为0100 十进制 是4首部长度(4):
IP
数据
包
的包头长度(不包括
数据
)优先级与服务类型(8):该字段用于表示
数据
包
的优先级和服务类型。通过在
数据
包
中划分一定的优先级,服务类型定义了如何处理
数据
一般没有使用总长度(16):
IP
数据
包
的总长度,最长为 65535 字节,包括包头和
数据
。标识符(16):该字段用于表示
IP
数据
包
的标识符。当
IP
对上层
数据
进行分片时,它将给所有的分片
数据
分配一组编
软件测试-TCP/
IP
网络知识必备及Wiresha
课程简介:作为软件测试工程师,或许你有扎实的测试理论基础,丰富的测试技巧和方法,但是网络知识却是大部分同学的重灾区,存在大量的知识空白;然后,无论是面试的时候,还是测试工作执行的时候,这些知识却都是必备的。比如,你在浏览器输入
一个
网址,得到
一个
web页面,这个过程在网络中是如何实现的?
数据
包
是如何封装和解封装的?是基于HTTP协议,还是HTTPS协议?让你搭建
一个
测试环境,该如何配置
IP
地址和路由?测试过程中出现问题,如页面打不开,又该如何抓包来分析?...所有的疑惑,这个‘TCP/
IP
网络知识必备及Wireshark抓包工具详解’系列课程都可以帮你一一解答!掌握这些课程知识,你的软件测试之路,将越走越远!课程特点:理论实操:全程理论结合实操演练,杜绝纯理论般的纸上谈兵高效精讲:每个知识点10-20分钟左右精讲,最少的时间换最高的学习效率简单易学:从0到1,适合零基础学习,同样也适合有网络基础但知识不系统的学员深入浅出:内容丰富实用,适合各种岗位人员,如运维工程师、售后工程师,售前工程师,测试工程师,技术支持工程师原创教程:柠檬班老师倾力打造
IP
数据
包
格式
网络层的功能定义了基于
IP
协议的逻辑地址,就是
ip
地址连接不同的媒介类型选择
数据
通过网络的最佳路径,完成逻辑地址寻址
数据
封装的时候在网络层会封装
ip
地址的头部,形成
ip
数据
包
IP
数据
包
格式(分为20字节的固定部分,表示每个
ip
数据
包
必须包含的部分,和40字节的可变长部分
IP
数据
包
格式(分为20字节的固定部分,表示每个
ip
数据
包
必须包含的部分,和40字节的可变长部分)版本号(4bit):指
IP
协议版本。并且通信双方使用的版本必须一致,目前我们使用的是
IP
v4,表示为0100 十进制是4。
网络层协议、
IP
数据
包
、网关
网络层的功能定义了基于
IP
协议的逻辑地址,就是
ip
地址连接不同的媒介类型选择
数据
通过网络的最佳路径,完成逻辑地址寻址的时候在,形成
IP
数据
包
格式(分为20字节的固定部分,表示每个
ip
数据
包
必须包含的部分,和40字节的可变长部分t
ip
s:通过 TTL的 返回值 确定你的 系统类型
IP
数据
包
格式(分为20字节的固定部分,表示每个
ip
数据
包
必须包含的部分,和40字节的可变长部分)(4bit):指
IP
协议版本。并且通信双方使用的版本必须一致,目前我们使用的是
IP
v4,表示为0100 十进制 是4。
通信技术
4,354
社区成员
28,926
社区内容
发帖
与我相关
我的任务
通信技术
通信技术相关讨论
复制链接
扫一扫
分享
社区描述
通信技术相关讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章