如何测试到IP地址和特定端口的出站连接?

时间:2011-05-19 18:03:50

标签: ip

好的,我们都知道如何使用PING来测试与IP地址的连接。我需要做的是类似的事情,但测试我对给定IP地址的出站请求以及特定端口(在本例中为1775)是否成功。应该最好从命令提示符执行测试。

6 个答案:

答案 0 :(得分:65)

这是我做的一个小网站,允许测试任何传出端口。服务器侦听所有可用的TCP端口。

http://portquiz.net

telnet portquiz.net XXXX

答案 1 :(得分:9)

为了自动化令人敬畏的服务portquiz.net,我确实写了一个bash脚本:

NB_CONNECTION=10
PORT_START=1
PORT_END=1000

for (( i=$PORT_START; i<=$PORT_END; i=i+NB_CONNECTION ))
do
    iEnd=$((i + NB_CONNECTION))
    for (( j=$i; j<$iEnd; j++ ))
    do
        #(curl --connect-timeout 1 "portquiz.net:$j" &> /dev/null && echo "> $j") &
        (nc -w 1 -z portquiz.net "$j" &> /dev/null && echo "> $j") &
    done
    wait
done

答案 2 :(得分:6)

如果目标IP /端口上正在运行服务器,则可以使用Telnet。除“无法连接”之外的任何响应都表示您能够连接。

答案 3 :(得分:5)

如果您正在测试TCP / IP,那么测试远程地址/端口的一种便宜方法是telnet到它并查看它是否连接。对于HTTP(端口80)等协议,您甚至可以键入HTTP命令并获取HTTP响应。

例如

Command IP          Port
Telnet  192.168.1.1 80

答案 4 :(得分:3)

我发现的最快/最有效的方法是使用此处描述的nmap和portquiz.net:http://thomasmullaly.com/2013/04/13/outgoing-port-tester/这将扫描到前1000个最常用的端口:

# nmap -Pn --top-ports 1000 portquiz.net

Starting Nmap 6.40 ( http://nmap.org ) at 2017-08-02 22:28 CDT
Nmap scan report for portquiz.net (178.33.250.62)
Host is up (0.072s latency).
rDNS record for 178.33.250.62: electron.positon.org
Not shown: 996 closed ports
PORT     STATE SERVICE
53/tcp   open  domain
80/tcp   open  http
443/tcp  open  https
8080/tcp open  http-proxy

Nmap done: 1 IP address (1 host up) scanned in 4.78 seconds

全部扫描(花费6秒而不是5秒):

# nmap -Pn -p1-65535 portquiz.net

答案 5 :(得分:1)

用于测试端口序列的@benjarobin的bash脚本示例对我不起作用所以我创建了这个最小的非实际一行(命令行)示例,该示例从序列中写入开放端口的输出1-65535(所有适用的通信端口)到本地文件并抑制所有其他输出:

for p in $(seq 1 65535); do curl -s --connect-timeout 1 portquiz.net:$p >> ports.txt; done

不幸的是,这需要18.2小时才能运行,因为我的旧卷曲版本允许整数秒的最小连接超时量为1.如果你有卷曲版本&gt; = 7.32.0(类型&#34;卷曲-V&#34;),您可以尝试更小的十进制值,具体取决于您连接服务的速度。或者尝试使用较小的端口范围来最小化持续时间。

此外,它会附加到输出文件ports.txt,因此如果多次运行,您可能需要先删除该文件。