首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用grep将ping命令中的ttl与操作系统相关联

问使用grep将ping命令中的ttl与操作系统相关联
EN

Unix & Linux用户
提问于 2019-09-10 00:54:41
回答 1查看 693关注 0票数 1

目前,我正在研究脚本,并且正在编写一些东西,可以在网络上对设备进行ping,如果它可以到达,然后从ping获取ttl数据,并声明它是操作系统。

我并不完全熟悉grep命令是如何工作的,但到目前为止,我已经了解了以下内容:

代码语言:javascript
复制
for host in $(seq 1 255);
do

ping -c 1 $sn.$host | grep "Unreachable" &>/dev/null

if [ $? -eq 0 ]; then
    printf "%s\n" "$sn.$host is Offline"
fi

ping -c 1 $sn.$host | grep "ttl" &>/dev/null

if [ $? -eq 0 ]; then
    printf "%s\n" "$sn.$host is Online"
fi

done

我怎么能修改这个脚本,因为我知道Linux有64的ttl、128的Windows和255的ioS,可以让它输出类似于"$host是在线的。操作系统: Linux“吗?

例如,我知道我可以复制"ping -c 1 $sn.$host grep“行三次,添加ttl值并创建输出我想要的内容的if语句,但如果可能的话,我希望在一次执行ping时完成它。

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2019-09-10 01:46:22

您可以通过修改您的ping获得如下所示的ttl:

代码语言:javascript
复制
ttl=$( ping -c 1 turing | grep ttl | sed 's/.*ttl=\([[:digit:]]*\).*/\1/' )

在此之后,检查ttl中的值并打印所需的信息非常简单。

票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/539920

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档