使用 /dev/tcp/host/port 命令的不同方法以及在哪里可以找到有关此的手册页

Bha*_*rat 9 networking bash solaris

使用 /dev/tcp/host/port 命令有哪些不同的方法以及在哪里可以找到有关此的手册页?

< /dev/tcp/www.google.com/80

cat > /dev/tcp/www.google.com/80
Run Code Online (Sandbox Code Playgroud)

Jef*_*ler 6

至于语法的官方参考,man bash并搜索关于重定向的部分。

从 Solaris 机器检查数千个节点的某些端口上的连接,其中 netcat 或 nc 不可用

使用 bash 的网络重定向功能的一种方法是将一些文本回显到该主机的端口并查看它是否成功。Bash 根据其连接到该主机上该端口的能力返回真/假。

示例代码,显示一组主机、一组端口,并尝试通过 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
Run Code Online (Sandbox Code Playgroud)

由于 UDP 是无状态的,因此测试的返回码对扫描没有用。您必须使用AB 的示例来捕获输出并查看它是否符合您的期望。

  • 谢谢,对于 udp ,我想我们可以使用 /dev/udp/host/port 。 (3认同)