如何检查 tcpdump 是否捕获了任何数据包?
How to check if tcpdump catpured any packets?
我正在尝试查看系统是否已启动。为了实现这一点,我可以使用 tcpdump 命令查看捕获的数据包,并使用它来验证系统当前是否正常运行。但是,我正在尝试将其合并到脚本中,但我不确定如何将该逻辑放入条件中。
我试过使用 netcat,但我似乎根本无法让它工作,所以我现在只尝试使用 tcpdump,因为至少它可以工作。
这是有效的 tcpdump 命令,但我无法将其合并到 if 条件中
tcpdump -i eth0 "udp port 69420"
这是一些关于我要完成的事情的伪代码:
if tcpdump captured any packets
echo "system is up"
这是一个阻塞代码,将继续侦听端口上的数据包,直到收到第一个数据包。
if tcpdump -i eth0 "udp port 69420" -c 1 ;then
echo "system is up"
fi
Usage: tcpdump [-aAdDeflLnNOpqRStuUvxX] [-c count] [ -C file_size ]
[ -E algo:secret ] [ -F file ] [ -i interface ] [ -M secret ]
[ -r file ] [ -s snaplen ] [ -T type ] [ -w file ]
[ -W filecount ] [ -y datalinktype ] [ -Z user ]
[ expression ]
PS:tcpdump
通常不会像这样使用(持续监控),它是一种资源详尽的工具,应该用于调试目的。
我正在尝试查看系统是否已启动。为了实现这一点,我可以使用 tcpdump 命令查看捕获的数据包,并使用它来验证系统当前是否正常运行。但是,我正在尝试将其合并到脚本中,但我不确定如何将该逻辑放入条件中。
我试过使用 netcat,但我似乎根本无法让它工作,所以我现在只尝试使用 tcpdump,因为至少它可以工作。
这是有效的 tcpdump 命令,但我无法将其合并到 if 条件中
tcpdump -i eth0 "udp port 69420"
这是一些关于我要完成的事情的伪代码:
if tcpdump captured any packets
echo "system is up"
这是一个阻塞代码,将继续侦听端口上的数据包,直到收到第一个数据包。
if tcpdump -i eth0 "udp port 69420" -c 1 ;then
echo "system is up"
fi
Usage: tcpdump [-aAdDeflLnNOpqRStuUvxX] [-c count] [ -C file_size ] [ -E algo:secret ] [ -F file ] [ -i interface ] [ -M secret ] [ -r file ] [ -s snaplen ] [ -T type ] [ -w file ] [ -W filecount ] [ -y datalinktype ] [ -Z user ] [ expression ]
PS:tcpdump
通常不会像这样使用(持续监控),它是一种资源详尽的工具,应该用于调试目的。