我正在尝试查看系统是否启动。为了实现此目的,我可以使用tcpdump命令查看捕获的数据包,并使用它来验证系统当前是否正常运行。但是,我正在尝试将其合并到脚本中,但不确定如何将其放入条件中。
我曾经尝试过使用netcat,但似乎根本无法正常工作,因此我目前仅尝试使用tcpdump,因为至少这样做有效。
这是可以使用的tcpdump命令,但是在合并到if条件条件中时遇到困难
tcpdump -i eth0 "udp port 69420"
以下是我要完成的操作的伪代码:
if tcpdump captured any packets
echo "system is up"
答案 0 :(得分:2)
这是一个阻止代码,它将继续监听端口上的数据包,直到收到第一个数据包为止。
if tcpdump -i eth0 "udp port 69420" -c 1 ;then
echo "system is up"
fi
用法:tcpdump [-aAdDeflLnNOpqRStuUvxX] [-c计数] [-C file_size] [-E algo:secret] [-F文件] [-i接口] [-M秘密] [-r文件] [-s snaplen] [-T类型] [-w文件] [-W filecount] [-y datalinktype] [-Z用户] [表情]
PS:tcpdump
通常不像这样使用(连续监视),它是一种资源穷尽的工具,应用于调试目的。