所以最近我想编写脚本来从ping命令检测OS。
我有类似192.168.1.0/24
的用户输入
我有1个这样的bash脚本示例,但是它使用nmap
#!/bin/bash
if [ -z $1 ] ; then
echo "Please enter ip address"
exit 1
fi
function print_os_type() {
case $2 in
64) echo "$1 Linux" ;;
128) echo "$1 Windows" ;;
*) echo "$1 Unknown os type";;
esac
}
function get_ttl() {
ping -c1 -w1 $1 | grep ttl | awk '{print $6}' | tr -d "ttl="
}
if [ ! -z $2 ] ; then
IPS=$(nmap -sL -n $1/$2 | grep report | awk '{print $5}')
for I in ${IPS[@]}
do
ttl=$(get_ttl $I)
print_os_type $I $ttl
done
else
ttl=$(ping -c1 -w1 $1 | grep ttl | awk '{print $6}' | tr -d "ttl=")
print_os_type $1 $ttl
fi
所以我只是徘徊,有什么办法可以使用bash脚本吗? 谢谢您的时间!