当没有回复时如何终止tracepath?
我正在编写一个 shell 脚本(在 Linux 中)来尝试查找从一台机器到另一台机器的所有 IP 地址。现在我正在通过限制可能的 IP 地址范围来扫描网络,但它不会 100% 准确。有时会遇到不存在的 IP 地址,当使用 tracepath 192.xxx
时,会返回一长串 no-reply
,而不是等待它最终暂停。如何快速停止 shell 脚本中当前的 tracepath
命令?
无论如何,是否可以读取tracepath的输出并检测是否返回“no-reply
”,如果返回,则终止当前tracepath
IP地址并转到下一个?
I'm writing a shell script (in Linux) to try to find all the IP address from one machine to another. Right now I'm scanning the network by limit the range of the possible IP addresses, but it won't be 100% accurate. There will be times hitting IP address that doesn't exists, when using tracepath 192.x.x.x
will return me a long list of no-reply
rather than waiting for it to eventually timeout. How do I quickly stop the current tracepath
command inside a shell script ?
Is there anyway to read the output of the tracepath and detects if "no-reply
" is returned, if so terminate the current tracepath
IP address and moving on to the next one ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以尝试使用
expect
监视tracepath
的输出,并在出现“no-reply”时执行某些操作。或者可以考虑使用traceroute
它允许您指定最大跳数。You could try using
expect
to monitor the output oftracepath
and do something when "no-reply" came out of it. Or maybe consider usingtraceroute
which allows you to specify a maximum number of hops.