编写一个名为 scanhost.sh 的扫描脚本,检查有哪些主机开启了匿名FTP 服务,扫描对象为 /etc/ether 文件中的所有 IP 地址,扫描的端口为 21。
时间: 2024-04-08 07:30:27 浏览: 9
当然,我可以为您编写一个名为 scanhost.sh 的脚本来扫描有哪些主机开启了匿名FTP服务。以下是一个示例脚本:
```bash
#!/bin/bash
# 从/etc/ether文件中提取所有IP地址
IP_LIST=$(grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}' /etc/ether)
# 遍历每个IP地址
for IP in $IP_LIST; do
# 检查IP地址的21端口是否开放
nc -zv $IP 21 > /dev/null 2>&1
# 如果21端口开放,则显示相关信息
if [ $? -eq 0 ]; then
echo "匿名FTP服务已在主机 $IP 上开启"
fi
done
```
这个脚本将从 `/etc/ether` 文件中提取所有的IP地址,然后使用 `nc` 命令检查每个IP地址的21端口是否开放。如果21端口开放,则输出相应的信息。
请注意,执行此脚本需要具有适当的权限。您可以使用 `chmod +x scanhost.sh` 命令为脚本添加执行权限,并使用 `./scanhost.sh` 命令运行脚本。
我希望这可以帮到您!如果您有任何其他问题,请随时提问。
相关问题
编写一个 shell 脚本 网络信息
以下是一个简单的 shell 脚本,可以获取本机的网络信息:
```bash
#!/bin/bash
echo "Network Information"
echo "--------------------"
# 获取本机 IP 地址
ip=$(hostname -I)
echo "IP Address: $ip"
# 获取本机 MAC 地址
mac=$(ifconfig | grep -w "ether" | awk '{print $2}')
echo "MAC Address: $mac"
# 获取默认网关
gateway=$(route -n | grep '^0.0.0.0' | awk '{print $2}')
echo "Default Gateway: $gateway"
# 获取 DNS 服务器
dns=$(cat /etc/resolv.conf | grep '^nameserver' | awk '{print $2}')
echo "DNS Server: $dns"
```
保存为一个 shell 脚本文件,比如 `network_info.sh`,然后在终端中运行即可:
```bash
$ bash network_info.sh
```
输出结果类似于:
```
Network Information
--------------------
IP Address: 192.168.1.100
MAC Address: 00:11:22:33:44:55
Default Gateway: 192.168.1.1
DNS Server: 8.8.8.8
```
写一个shell脚本获取本机MAC地址/ip地址
您好,可以使用以下命令获取本机的MAC地址和IP地址:
MAC地址:
ifconfig | grep "ether" | awk '{print $2}'
IP地址:
ifconfig | grep "inet " | awk '{print $2}'
希望对您有帮助。