首页 > 解决方案 > 无法正确解析 tcpdump 输出

问题描述

我正在尝试运行此命令:sudo tcpdump "ether proto 0x888e and ether host <BSSID>" -I -w -U -vvv -I <INTERFACENAME> -w ~/Desktop/handshake.cap就其功能而言,它可以完美运行,但是,当我运行该命令时,会得到以下输出:

tcpdump: listening on en0, link-type IEEE802_11_RADIO (802.11 plus radiotap header), capture size 262144 bytes
Got 0

其中Got 0计算捕获的数据包数。此外,停止命令时,我得到以下信息:

tcpdump: listening on en0, link-type IEEE802_11_RADIO (802.11 plus radiotap header), capture size 262144 bytes
^C0 packets captured
3526 packets received by filter
0 packets dropped by kernel

我正在尝试将此命令集成到脚本中,并且只想Got 0从输出中省略所有内容。

我以前遇到过这种问题,但只是习惯于2> /dev/null摆脱我不想要的输出。但是,它似乎Got 0包含在这个阻塞的输出中,因此,我根本没有得到任何输出。同样,&>/dev/null也删除所有输出。我也试过用管道将它sed -n '1!p'忽略第一行,但这没有效果,也不可取,因为理论上它不会删除0 packets captured 3526 packets received by filter 0 packets dropped by kernel

有谁知道如何解决这个问题?

预先感谢您的任何帮助,

亲切的问候,罗科

PS我正在运行macOS

标签: parsingstdoutstderrtcpdump

解决方案


推荐阅读