加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

bash – tcpdump返回数据包之前的一秒延迟

发布时间:2020-12-15 18:32:17 所属栏目:安全 来源:网络整理
导读:使用Ubuntu,我正在尝试将tcpdump嗅探与来自客户端设备的自识别“ping”同步.问题是,通过看起来像tcpdump中的内置延迟,获得精确的启动和停止变得困难.这是我脚本的关键线: sudo timeout .5s tcpdump -i wlan0 -e 当我设置超时以停止tcpdump之后,比如半秒(如
使用Ubuntu,我正在尝试将tcpdump嗅探与来自客户端设备的自识别“ping”同步.问题是,通过看起来像tcpdump中的内置延迟,获得精确的启动和停止变得困难.这是我脚本的关键线:
sudo timeout .5s tcpdump -i wlan0 -e

当我设置超时以停止tcpdump之后,比如半秒(如我的例子中所示),不返回任何数据包.实际上,低于1.1s的任何值都不能返回数据包(而1.1和更长的工作时间非常好).

我已经尝试添加-n参数来抑制DNS,但这没有任何区别.我还尝试了两个完全不同的wifi卡(英特尔迅驰和TP-Link N900),以确保它不仅仅是一个硬件“功能”.

我不是开发人员,但我在tcpdump源代码中搜索“延迟”,“延迟”和“超时”,但似乎没有出现任何负责任的东西.

有任何想法吗?

gnu coreutils timeout.c对没有timer_settime()的系统有一个回退 – 它将恢复为单秒分辨率:
/* timer_settime() provides potentially nanosecond resolution.
setitimer() is more portable (to Darwin for example),but only provides microsecond resolution and thus is
a little more awkward to use with timespecs,as well as being
deprecated by POSIX.  Instead we fallback to single second
resolution provided by alarm().  */

也许这就是你的问题.我不运行ubuntu所以我不能直接检查,但例如我的openbsd机器只有setitimer(),所以它只会使用全秒超时

– 编辑:在第二次看它仍然应该等待至少1秒,除非它的四舍五入…或者某种程度上tcpdump正在获得早期的sigterm……也许在这段时间内没有包裹?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读