使用 /dev/tcp/host/port 命令有哪些不同的方法以及在哪里可以找到这方面的手册页?
< /dev/tcp/www.google.com/80
cat > /dev/tcp/www.google.com/80
答案1
至于官方参考的语法,男人狂欢并搜索有关重定向的部分。
检查 Solaris 机器上数千个节点的某些端口的连接性,其中 netcat 或 nc 不可用
一种方法是使用 bash 的网络重定向功能将一些文本回显到该主机的端口并查看是否成功。 Bash 根据其连接到该主机上的该端口的能力返回 true/false。
示例代码,显示主机数组、端口数组,并尝试通过 TCP 连接到这些端口:
#!/bin/bash
hosts=(127.0.0.1 127.0.0.2 127.0.0.3)
ports=(22 23 25 80)
for host in "${hosts[@]}"
do
for port in "${ports[@]}"
do
if echo "Hi from Bharat's scanner at $(uname -n)" 2>/dev/null > /dev/tcp/"$host"/"$port"
then
echo success at "$host":"$port"
else
echo failure at "$host":"$port"
fi
done
done
由于 UDP 是无状态的,因此测试的返回码对于扫描没有用处。你必须使用AB的例子捕获输出并查看它是否符合您的期望。