社区
Linux/Unix社区
帖子详情
关于 linux 网络 发包
熄灭的太yang
2012-06-06 01:36:18
要做一个重传包成功传至client的次数的统计,我理解重传成功就要受到ACK,但是ACK好像都是硬件直接处理了,我想请教那软件上是怎么知道哪个包需要重传,在哪里将设置包的重传标识位(这里的包是80211无线报文,包头中有重传位)。 或者说linux发包时在哪里判断什么包是需要重传的?谢谢!
...全文
250
18
打赏
收藏
关于 linux 网络 发包
要做一个重传包成功传至client的次数的统计,我理解重传成功就要受到ACK,但是ACK好像都是硬件直接处理了,我想请教那软件上是怎么知道哪个包需要重传,在哪里将设置包的重传标识位(这里的包是80211无线报文,包头中有重传位)。 或者说linux发包时在哪里判断什么包是需要重传的?谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
18 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
熄灭的太yang
2012-07-02
打赏
举报
回复
[Quote=引用 17 楼 的回复:]
具体是哪一个函数或者变量呢?
请分享一下啊~~
[/Quote]我用的source有一个longretry表示重传没收到ack的帧数。这个应给对你没什么意义吗,应该不同吧。
giant1st
2012-06-19
打赏
举报
回复
具体是哪一个函数或者变量呢?
请分享一下啊~~
熄灭的太yang
2012-06-11
打赏
举报
回复
寄存器中已经有统计了,,哎,忙了这么久终于在SDK中找到读取该值的地方了,,谢谢大家。
qq120848369
2012-06-08
打赏
举报
回复
让客户端上报吧, 只有客户端知道自己到底完成了多少请求.
daviddb7
2012-06-08
打赏
举报
回复
AP是否支持VAP功能?
如果有VAP,也可以尝试多起一个monitor
daviddb7
2012-06-07
打赏
举报
回复
看你的重传到底是哪一层的
如果是802.11的,那没办法,硬件做的,看无线网卡驱动里有没有
如果是TCP重传,这个可以获取的,只要你在比TCP级别更低的层面上把包截过来自己解析就行了。
qq120848369
2012-06-07
打赏
举报
回复
服务端无法保证send返回成功的对端一定会收到,所以服务端统计并非总是准确,除非让客户端回复一个成功应答,靠协议层ACK是没办法实现了。
熄灭的太yang
2012-06-07
打赏
举报
回复
[Quote=引用 12 楼 的回复:]
这个统计必须在客户端上吗?
可以再多用一个无线网卡,作为monitor抓包,然后自己把抓到的包分析统计一下应该能达到要求。
如果必须在客户端上恐怕就只能改驱动了。
[/Quote]是在AP上的统计量,统计AP经过一次或者多次重传成功发送至终端的统计量。再加个网卡肯定没法加上了
daviddb7
2012-06-07
打赏
举报
回复
这个统计必须在客户端上吗?
可以再多用一个无线网卡,作为monitor抓包,然后自己把抓到的包分析统计一下应该能达到要求。
如果必须在客户端上恐怕就只能改驱动了。
熄灭的太yang
2012-06-07
打赏
举报
回复
[Quote=引用 9 楼 的回复:]
看你的重传到底是哪一层的
如果是802.11的,那没办法,硬件做的,看无线网卡驱动里有没有
如果是TCP重传,这个可以获取的,只要你在比TCP级别更低的层面上把包截过来自己解析就行了。
[/Quote]恩,就是80211的,我在找无线驱动,可是还没能找到。
熄灭的太yang
2012-06-07
打赏
举报
回复
[Quote=引用 9 楼 的回复:]
看你的重传到底是哪一层的
如果是802.11的,那没办法,硬件做的,看无线网卡驱动里有没有
如果是TCP重传,这个可以获取的,只要你在比TCP级别更低的层面上把包截过来自己解析就行了。
[/Quote]恩,就是80211的,我在找无线驱动,可是还没能找到。
熄灭的太yang
2012-06-06
打赏
举报
回复
[Quote=引用 6 楼 的回复:]
这个不是你关心的,在内部处理了,你不用知道,发送失败的话,send会返回错误,查看错误码就可以了
[/Quote]你这里说的发送失败是指没有发出去吧,但是发出了station没有收到算是发送失败吗?会不会返回错误呢,,如果会还请指点一二,现在就是找不到判断的地方,,谢谢了
qixing1115
2012-06-06
打赏
举报
回复
这个不是你关心的,在内部处理了,你不用知道,发送失败的话,send会返回错误,查看错误码就可以了
熄灭的太yang
2012-06-06
打赏
举报
回复
顶啊 。。不能沉啊,还没解决啊啊 啊啊啊啊啊 啊
熄灭的太yang
2012-06-06
打赏
举报
回复
[Quote=引用 3 楼 的回复:]
这个就不懂了,,你再找找资料吧,,,
[/Quote]我也一直在找,头大啊。谢谢关注了。 自己顶起
fdl19881
2012-06-06
打赏
举报
回复
这个就不懂了,,你再找找资料吧,,,
熄灭的太yang
2012-06-06
打赏
举报
回复
[Quote=引用 1 楼 的回复:]
那为什么要知道tcp重传呢? 原因,目的,
从用户空间的程序基本没法直接获得这个东西。
你得在内核空间编程, 写个内核模块,找到重传的源码在哪,数据结构是什么,然后读取后通过netlink传给你的上层应用。 大概是这么回事, 估计难度很高。
或者看看tcpdump的实现原理 , 从他的输出中观察同一个包(序号相同,方向相同,目的地址,端口,协议相同)发送次数。
如果只是为了获……
[/Quote]恩,对,我其实就是想知道重传的源码在哪里,希望告知。如果有熟悉无线驱动朋友希望能指点下无线驱动中在哪里处理这块的。非常感谢,,工作上需要做个统计量,统计成功重传至终端的次数,,不知道怎么处理了。。
fdl19881
2012-06-06
打赏
举报
回复
那为什么要知道tcp重传呢? 原因,目的,
从用户空间的程序基本没法直接获得这个东西。
你得在内核空间编程, 写个内核模块,找到重传的源码在哪,数据结构是什么,然后读取后通过netlink传给你的上层应用。 大概是这么回事, 估计难度很高。
或者看看tcpdump的实现原理 , 从他的输出中观察同一个包(序号相同,方向相同,目的地址,端口,协议相同)发送次数。
如果只是为了获得RTT的话,直接使用icmp协议就得到了(ping命令使用的icmp).
xcap一个好用的
网络
发包
工具
xcap一个好用的
网络
发包
工具
Linux
利用原始套接字抓包程序
linux
下利用原始套接字抓取
网络
数据。用GCC编译,运行时要指定网口,以管理员身份运行Ubuntu下: gcc -o sniffer sniffer.c sudo ./sniffer eth0
libnet函数库
跨平台的C语言开发的
网络
发包
库. 支持
linux
macos windowsNT
anysend
发包
工具及说明文档
此工具为
网络
攻防研究的必备工具,包含多种协议,用户可自由组和
发包
ARP(
发包
器)arp_sender
只支持
Linux
系统,如果软件有问题或者需要更多的功能,请私信我。 使用方法: ./arp_sender -h 可以查看帮助,很简单一看就会。 使用方法举例: ./arp_sender -i 172.16.1.66 -p ens160 -i :后面跟要发送的目标IP -p :后面跟
Linux
接口标签
Linux/Unix社区
23,121
社区成员
74,507
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章