【Linux】使用 Telnet 测试 IP 和端口的通畅性及其他高级用法
#!/bin/bash
# 使用 Telnet 测试 IP 和端口的通畅性
# 参数1:IP地址
# 参数2:端口号
IP=$1
PORT=$2
if [ -z "$IP" ] || [ -z "$PORT" ]; then
echo "Usage: $0 <IP> <PORT>"
exit 1
fi
echo "Testing connectivity to $IP:$PORT"
if telnet "$IP" "$PORT" <<< "quit" &> /dev/null; then
echo "Connection to $IP:$PORT is successful"
else
echo "Connection to $IP:$PORT failed"
fi
# 输出分隔线
echo "----------------------------------------"
# 使用 Telnet 测试并获取返回值
telnet_result=$(echo "quit" | telnet "$IP" "$PORT" 2>&1)
# 打印 telnet 命令的输出
echo "$telnet_result"
# 检查 telnet 是否因为失败而退出,并输出对应的错误信息
if echo "$telnet_result" | grep -q "Connection closed"; then
echo "Telnet connection failed: Connection closed prematurely"
else
echo "Telnet connection successful"
fi
这段代码接受两个参数:IP 地址和端口号,并使用 Telnet 测试它们的连通性。如果连接成功,它会发送 "quit" 命令并退出。脚本还演示了如何捕获和处理 telnet 命令的输出,以及如何检查连接是否因为失败而关闭。
评论已关闭