如何测试端口通不通(四种方法)

一般情况下使用"telnet ip port"判断端口通不通,其实测试方法不止这一种,还有很多种方法,下面小编给大家分享了几种方法,具体内容请往下看:

准备环境

启动一个web服务器,提供端口.

[wyq@localhost ~]$ python -m SimpleHTTPServer 8080
Serving HTTP on 0.0.0.0 port 8080 ...

用其它web服务器提供端口也一样,由于python比较方便,这里就用它

1、使用telnet判断

telnet是windows标准服务,可以直接用;如果是linux机器,需要安装telnet.

用法: telnet ip port

1)先用telnet连接不存在的端口

[root@localhost ~]# telnet 10.0.250.3 80
Trying 10.0.250.3...
telnet: connect to address 10.0.250.3: Connection refused #直接提示连接被拒绝

2)再连接存在的端口

[root@localhost ~]# telnet localhost 22
Trying ::1...
Connected to localhost. #看到Connected就连接成功了
Escape character is '^]'.
SSH-2.0-OpenSSH_5.3
a
Protocol mismatch.
Connection closed by foreign host.

2、使用ssh判断

ssh是linux的标准配置并且最常用,可以用来判断端口吗?

用法: ssh -v -p port username@ip

-v 调试模式(会打印日志).

-p 指定端口

username可以随意

1)连接不存在端口

[root@localhost ~]# ssh 10.0.250.3 -p 80
ssh: connect to host 10.0.250.3 port 80: Connection refused
[root@localhost ~]# ssh 10.0.250.3 -p 80 -v
OpenSSH_5.3p1, OpenSSL 1.0.1e-fips 11 Feb 2013
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug1: Connecting to 10.0.250.3 [10.0.250.3] port 80.
debug1: connect to address 10.0.250.3 port 80: Connection refused
ssh: connect to host 10.0.250.3 port 80: Connection refused

2)连接存在的端口

[root@localhost ~]# ssh ... -p
a
^]
^C
[root@localhost ~]# ssh ... -p -v
OpenSSH_.p, OpenSSL ..e-fips Feb
debug: Reading configuration data /etc/ssh/ssh_config
debug: Applying options for *
debug: Connecting to ... [...] port .
debug: Connection established.
debug: permanently_set_uid: /
debug: identity file /root/.ssh/identity type -
debug: identity file /root/.ssh/identity-cert type -
debug: identity file /root/.ssh/id_rsa type -
debug: identity file /root/.ssh/id_rsa-cert type -
debug: identity file /root/.ssh/id_dsa type -
debug: identity file /root/.ssh/id_dsa-cert type -
a
^C

不用-v选项也可以咯

3、使用wget判断

wget是linux下的下载工具,需要先安装.

用法: wget ip:port

1)连接不存在的端口

[root@localhost ~]# wget ...:
---- ::-- http://.../
Connecting to ...:... failed: Connection refused.

2)连接存在的端口

[root@localhost ~]# wget ...:
---- ::-- http://...:/
Connecting to ...:... connected.
HTTP request sent, awaiting response...

4、使用端口扫描工具

[root@localhost ~]# nmap ... -p
Starting Nmap . ( http://nmap.org ) at -- : CST
Nmap scan report for ...
Host is up (.s latency).
PORT STATE SERVICE
/tcp closed http
MAC Address: B:A::CF:FD:D (Unknown)
Nmap done: IP address ( host up) scanned in . seconds
[root@localhost ~]# nmap ... -p
Starting Nmap . ( http://nmap.org ) at -- : CST
Nmap scan report for ...
Host is up (.s latency).
PORT STATE SERVICE
/tcp open http-proxy
MAC Address: B:A::CF:FD:D (Unknown)
Nmap done: IP address ( host up) scanned in . seconds
[root@localhost ~]# nmap ...
Starting Nmap . ( http://nmap.org ) at -- : CST
Nmap scan report for ...
Host is up (.s latency).
Not shown: closed ports
PORT STATE SERVICE
/tcp open ssh
/tcp open rpcbind
/tcp open http-proxy
/tcp open unknown
MAC Address: B:A::CF:FD:D (Unknown)
Nmap done: IP address ( host up) scanned in . seconds

总结

提供端口服务,则使用了tcp协议,上面是以web服务器为例。如果服务器是更简单的tcp服务器,三个工具同样适用.

三个工具的共同点是:1.以tcp协议为基础;2.能访问指定端口. 遵循这两点可以找到很多工具.

一般在windows下使用telnet比较方便,linux下个人就比较喜欢用wget.

(0)

相关推荐

  • PowerShell实现测试端口可用性脚本分享

    利用简单的TCP套接字来简单判断一个端口是否可用: 复制代码 代码如下: Function Test-PortAvailable {     param(     [validaterange(1,65535)]     [int]$Port     )     $sockt=New-Object System.Net.Sockets.Socket -ArgumentList 'InterNetwork','Stream','TCP'     $ip = (Get-NetIPConfigurat

  • 如何测试端口通不通(四种方法)

    一般情况下使用"telnet ip port"判断端口通不通,其实测试方法不止这一种,还有很多种方法,下面小编给大家分享了几种方法,具体内容请往下看: 准备环境 启动一个web服务器,提供端口. [wyq@localhost ~]$ python -m SimpleHTTPServer 8080 Serving HTTP on 0.0.0.0 port 8080 ... 用其它web服务器提供端口也一样,由于python比较方便,这里就用它 1.使用telnet判断 telnet是wi

  • python 发送邮件的四种方法汇总

    这里针对smtplib做了一系列封装,可以完成以下四种场景: 发送纯文本的邮件 发送html页面的邮件 发送带附件文件的邮件 发送能展示图片的邮件 以上四种场景,已经做好了二次封装,经测试OK,使用时直接传入对应参数即可,直接上代码 import smtplib from email.mime.text import MIMEText from email.mime.image import MIMEImage from email.mime.application import MIMEApp

  • IOS中Json解析实例方法详解(四种方法)

    作为一种轻量级的数据交换格式,json正在逐步取代xml,成为网络数据的通用格式. 有的json代码格式比较混乱,可以使用此"http://www.bejson.com/"网站来进行JSON格式化校验(点击打开链接).此网站不仅可以检测Json代码中的错误,而且可以以视图形式显示json中的数据内容,很是方便. 从IOS5开始,APPLE提供了对json的原生支持(NSJSONSerialization),但是为了兼容以前的iOS版本,可以使用第三方库来解析Json. 本文将介绍Tou

  • Python实现检测服务器是否可以ping通的2种方法

    好想在2014结束前再赶出个10篇博文来,~(>_<)~,不写博客真不是一个好兆头,至少说明对学习的欲望和对知识的研究都不是那么积极了,如果说这1天的时间我能赶出几篇精致的博文,你们信不信,哈哈,反正我是信了... python检测服务器是否ping通的2种方法 1.第一种比较挫,就是用ping,python调用shell,这个适用于较少的服务器数量,几百台已经很慢了(当然是说python同步的方法,要是nodejs异步方式还是很快的,但是nodejs CPU计算不行,所以尝试了下只能200台

  • JS去除字符串最后的逗号实例分析【四种方法】

    本文实例讲述了JS去除字符串最后的逗号.分享给大家供大家参考,具体如下: <script> window.onload=function() { var obj = {name: "xxx", age: 30, sex: "female"};//定义一个object对象 var str = ''//定义一个空字符用来接收对象里的key或者value for(var item in obj) {//遍历item变量里的对象的属性和元素, str += ob

  • Python3中列表list合并的四种方法

    下面是[列表]合并的4种方法,其中的代码都在Python3下测试通过,在Python2下运行应该也没问题,时间关系就没测试,有任何问题欢迎给我留言. 方法1: 直接使用"+"号合并列表 | aList ``= [``1``,``2``,``3``] bList ``= [``'www'``, ``'pythontab.com'``] cList ``= aList ``+ bList dList ``= bList ``+ aList print``(cList) print``(dL

  • Python对列表去重的多种方法(四种方法)

    无聊统计了下列表去重到底有多少种方法.下面小编给大家总结一下,具体内容详情如下: 开发中对数组.列表去重是非常常见的需求,对一个list中的id进行去重,有下面几种方法,前面两种方法不能保证顺序, 后面两种方法可以保持原来的顺序. 下面的代码都在Python3下测试通过, Python2下请自行测试 1. 使用set的特型,python的set和其他语言类似, 是一个无序不重复元素集 orgList = [1,0,3,7,7,5] #list()方法是把字符串str或元组转成数组 formatL

  • JavaWeb读取配置文件的四种方法

    方式一:采用ServletContext读取 获取配置文件的realpath,然后通过文件流读取出来或者通过方法getReasurceAsStream(). 因为是用ServletContext读取文件路径,所以配置文件可以放入在WEB-INF的classes目录中,也可以在应用层级及WEB-INF的目录中.文件存放位置具体在eclipse工程中的表现是:可以放在src下面,也可放在WEB-INF及Web-Root下面等.因为是读取出路径后,用文件流进行读取的,所以可以读取任意的配置文件包括xm

  • 详解Java停止线程的四种方法

    一.线程停止基础知识 interrupted(): 测试当前线程是否已经中断.该方法为静态方法,调用后会返回boolean值.不过调用之后会改变线程的状态,如果是中断状态调用的,调用之后会清除线程的中断状态. isInterrupted(): 测试线程是否已经中断.该方法由对象调用 interrupt(): 标记线程为中断状态,不过不会中断正在运行的线程. stop(): 暴力停止线程.已弃用. 二.停止线程方法1:异常法停止 线程调用interrupt()方法后,在线程的run方法中判断当前对

  • 浅谈Java中浮点型数据保留两位小数的四种方法

    目录 一.String类的方式 二.DecimalFormat类 三.BigDecimal类进行数据处理 四.NumberFormat类进行数据处理 总结一下 今天在进行开发的过程中遇到了一个小问题,是关于如何将double类型的数据保留两位小数.突然发现这方面有一点欠缺,就来总结一下. 一.String类的方式 该方式是是使用String的format()方法来实现的,该方法的作用就是规范数据的格式,第一个参数传入一个字符串来表示输出的数据格式,如保留两位小数就使用"%.2f",第二

随机推荐