社区
Linux/Unix社区
帖子详情
200分请教,如何知道数据包的大小
see22
2005-04-06 01:14:06
请教各位大哥,
用tcp连接, 我如何才能知道对方发来的数据包的大小
...全文
251
4
打赏
收藏
200分请教,如何知道数据包的大小
请教各位大哥, 用tcp连接, 我如何才能知道对方发来的数据包的大小
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
nodummy
2005-04-06
打赏
举报
回复
入侵操作系统内核的TCP协议栈,所有的TCP包都要通过那里,这样便可以捕获数据包的大小了……
但是这种东西需要和内核进行交互,似乎不是很简单就可以完成的,搞不好需要改写TCP协议栈的代码,还要重新编译内核……
如果是在Linux下面的话,可以通过netfilter完成这种东西,其他的Unix里面的话恐怕不改内核代码比较麻烦了。偷懒一点的方法是使用tcpdump的bpf设备,这样的话同样可以捕捉到数据包。具体怎么玩看tcpdump的代码就可以知道了(最偷懒的方法其实是和tcpdump交互,但是tcpdump一启动就把网卡转入了混杂模式,并不是所有的数据包你都需要来着)……
cnwolf
2005-04-06
打赏
举报
回复
因为tcp的数据也是一个流
无法确定某个数据包的大小
只能先发一个固定长度的数据,表明后面数据的大小
接收的时候也是先接收固定的长度,在根据这个决定下一次接收的数据大小
nightfallrove
2005-04-06
打赏
举报
回复
不可以的,你应该定义一个数据包头,固定大小,比如
struct tcp_head{int length, int type....};
这个包头是每个数据包都必须发的
也就是说无论从A发到B或是从B发到A,
数据包的前sizeof(tcp_head)字节都必须是这个包头
发数据之前先设置tcp_head中的数据,比如数据包长度,数据包类型...
这样,你接收的时候可以这样
recv(fd, &head, sizeof(tcp_head));
char* buffer = new char[head.length];
recv(fd, buffer, head.length);
先接收包头,确定长度后再接收剩余部份
发数据的时候也一样,把head头和你要发的数据
memcpy到了块内存中再发...
see22
2005-04-06
打赏
举报
回复
补充一下, 要用c语言编程实现
遥感影像综合处理4大遥感软件(GIS+RS)
课后答疑、学习群答、疑实战驱动、课件、课程操作数据福利
数据包
ArcGIS之遥感影像
分
类及
分
类成果应用 快速上手ArcGIS的遥感影像
分
类。拓展对遥感卫星的认识,学会遥感影像的波段合成、
分
类前数据
分
析处理、监督
分
类...
蓝牙中
数据包
传输的
大小
的定义 BLE PACKET FORMAT
SYD8801是一款低功耗高性能蓝牙低功耗SOC,集成了高性能2.4GHz射频收发机、32位ARM Cortex-M0处理器、128kB Flash存储器、以及丰富的数字接口。...蓝牙
数据包
大小
的
请教
在4.0蓝牙规范的《2 ...
BLE4.0蓝牙中
数据包
传输的
大小
的定义 BLE PACKET FORMAT
蓝牙
数据包
大小
的
请教
在4.0蓝牙规范的《2 AIR INTERFACE PACKETS》这一节中定义BLE蓝牙链路层
数据包
的结构,如下: 规定了PUD的
大小
最大是39个byte,这里
分
析数据通道的PUD
大小
,我们看看如下定义: ...
原始
数据包
的
分
析
原始
数据包
的
分
析 学习NDIS一段时间了,不过还是毫无头绪,理论都能明白,可是不
知道
怎么下手去做,网上没有没有太详细的教程。我是比较笨,而且比较懒的。:) 所以准备暂缓NDIS网络和驱动方面...
linux高吞吐量socket接收,socket吞吐量和时延的困惑
本帖最后由 remaper 于 2013-12-19 01:44 编辑hi,各位好
请教
一个问题,最近做了个测试,机器8core + 12G内存,两台机器,ping值0.1ms一台部署client一台部署server
数据包
大小
512bytes同步模式下(发一个收一个,再发...
Linux/Unix社区
23,120
社区成员
74,507
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章