不是呀nmap,对本实训室的所有IP段的主机进行扫描,主要内容是: (1)、统计活的(在线)主机和不在线的主机,并给出IP地址和主机名称信息; (2)对活的主机,查看主机开启了哪些端口(服务)? 请你编写shell脚本实现自动运维
时间: 2024-11-03 16:16:07 浏览: 38
在Linux环境下,你可以使用`nmap`工具来进行网络扫描。这里是一个基本的shell脚本示例,用于对指定IP范围内的主机进行扫描:
```bash
#!/bin/bash
# 定义要扫描的IP范围
ip_range="192.168.0.1-254" # 根据实际实训室IP段替换
# 使用nmap进行主机扫描并获取状态
alive_hosts=$(echo "$ip_range" | nmap -sP -oG -)
# 计算在线和离线主机数量
total_hosts=$(echo "$alive_hosts" | grep -c "host up")
online_hosts=$(echo "$alive_hosts" | grep -c "host up|status open")
echo "总共有 $total_hosts 台主机:"
echo "其中在线主机有 $online_hosts 台:"
# 对在线主机提取IP地址和主机名
echo "$alive_hosts" | awk '/host up/{print $1}' | while read host; do
hostname=$(nmap -sn "$host" | grep -m 1 "Nmap done at" | cut -d ' ' -f 2)
echo "主机 $hostname (IP: $host) 开启的服务:"
# 查看开放端口
ports=$(nmap -p- "$host" | grep "open" | awk '{print $2}')
echo "$ports"
done
# 结束
echo "
阅读全文