|
|
发表于 2024-3-20 14:16:27
|
显示全部楼层
- #!/bin/bash
- # 函数用于获取域名对应的IP地址列表
- get_ip_addresses() {
- domain=$1
- ip_addresses=$(host $domain | awk '/has address/ {print $4}')
- echo "$ip_addresses"
- }
- # 函数用于扫描指定IP地址的开放端口
- scan_ports() {
- ip_address=$1
-
- for port in {1..65535}; do
- timeout 1 bash -c "echo >/dev/tcp/$ip_address/$port" &>/dev/null && echo "端口 $port: 开放"
- done
- }
- # 主函数
- main() {
- read -p "请输入要查询的域名: " domain
- ip_addresses=$(get_ip_addresses $domain)
-
- if [ -n "$ip_addresses" ]; then
- echo "域名 $domain 对应的IP地址列表:"
- echo "$ip_addresses"
-
- for ip_address in $ip_addresses; do
- echo -e "\n扫描IP地址 $ip_address 的开放端口:"
- scan_ports $ip_address
- done
- else
- echo "无法获取域名 $domain 的IP地址"
- fi
- }
- main
复制代码 |
|