shell 脚本使用telnet判断IP和端口是否可用
时间: 2023-12-12 17:05:22 浏览: 38
可以使用以下的 Shell 脚本来判断 IP 和端口是否可用:
```shell
#!/bin/bash
ip_address="192.168.0.1"
port="80"
result=$(echo quit | telnet $ip_address $port 2>/dev/null | grep Connected)
if [[ -z "$result" ]]; then
echo "IP $ip_address and Port $port are not reachable."
else
echo "IP $ip_address and Port $port are reachable."
fi
```
替换 `$ip_address` 和 `$port` 变量为你要检测的 IP 地址和端口号即可。此脚本将使用 `telnet` 连接到指定的 IP 和端口,如果连接成功则说明 IP 和端口是可用的,否则则说明不可用。
相关问题
写一个shell脚本判断telnet是否正常‘’
可以尝试以下的 shell 脚本:
```bash
#!/bin/bash
# 定义需要检查的 IP 地址和端口号
ip="example.com"
port="80"
# 尝试连接 IP 地址和端口号
if echo -e "open ${ip} ${port}\nquit" | telnet | grep "Connected"; then
echo "Telnet to ${ip}:${port} succeeded"
else
echo "Telnet to ${ip}:${port} failed"
fi
```
将 `ip` 和 `port` 变量替换为要检查的地址和端口号,保存为 `.sh` 文件,然后在终端中运行该脚本即可。该脚本会尝试连接指定的 IP 地址和端口号,如果连接成功,则输出 `Telnet to ${ip}:${port} succeeded`,否则输出 `Telnet to ${ip}:${port} failed`。
shell脚本批量telnet端口
可以使用以下步骤来编写一个批量telnet端口的shell脚本:
1. 创建一个包含所有IP地址的文件,每行一个IP地址。
2. 创建一个包含所有要telnet的端口号的文件,每行一个端口号。
3. 编写一个for循环,循环遍历IP地址文件中的每个IP地址。
4. 在for循环中,再嵌套一个for循环,循环遍历端口号文件中的每个端口号。
5. 在嵌套的for循环中,使用telnet命令测试IP地址和端口号的连接情况。
6. 将测试结果输出到一个日志文件中。
以下是一个示例脚本:
```
#!/bin/bash
# IP地址文件
IP_FILE="ip_list.txt"
# 端口号文件
PORT_FILE="port_list.txt"
# 日志文件
LOG_FILE="telnet.log"
# 循环遍历IP地址文件中的每个IP地址
for ip in $(cat $IP_FILE)
do
# 循环遍历端口号文件中的每个端口号
for port in $(cat $PORT_FILE)
do
# 使用telnet命令测试IP地址和端口号的连接情况
telnet $ip $port > /dev/null 2>&1
if [ $? -eq 0 ]
then
echo "$ip:$port 连接成功" >> $LOG_FILE
else
echo "$ip:$port 连接失败" >> $LOG_FILE
fi
done
done
```
在上面的示例中,我们使用了telnet命令测试IP地址和端口号的连接情况,并将测试结果输出到一个日志文件中。如果连接成功,则输出“连接成功”,否则输出“连接失败”。