如何检测远程主机上的某个端口是否开启
1、安装telnet。我的win7下就没有telnet,在cmd下输入telnet提示没有该命令。于是我们进入控制面板---->程序---->打开或关闭windows功能。然后等一段时间,在出来的对话框把telnet客户端和telnet服务器勾选上,其他的不用管,然后点击确定。这样就安装好了telnet组件了。
2、 下面开始测试某个端口是否开启,比如我测的是192168342的2121这个端口。在cmd下输入
start /min telnet 192168342 2121
之后会出现一个窗口,是最小化的,你等一会,如果窗口自动关闭了,说明端口是关闭的或主机ping不通,反之端口开放
比如这个2121端口是开放的,就出现如图所以的窗口,否则窗口关闭。
3、你可以用自己的机子做实验在CMD下输入netstat -anp tcp可以查看当前主机tcp开放了哪些端口
最后 ping命令是不能检测端口,只能检测你和相应IP是否能连通
补充: Linux下检测本机的端口是否被占用:
netstat –apn | grep 8080
又或者在,windows下
在cmd里面使用netstat -an命令来查看 开放的TCP和UDP端口。
在cmd里面使用start /min telnet 127001 某端口,之后会出现一个窗口,是最小化的,你等一会,如果窗口自动关闭了,说明端口是关闭,反之端口开放。
Linux下
如windows下使用telnet的方法
使用nc命令
nc检测端口的用法:
nc -z -w 10 %ip% %PORT%
-z表示检测或者扫描端口
-w表示超时时间
-u表示使用UDP协议
例如:
# nc -z -w 10 -u 127001 53
Connection to 127001 53 port [udp/domain] succeeded!
# nc -z -w 10127001 53
Connection to 127001 53 port [tcp/domain] succeeded!
# echo $
0
# nc -z -w 10 8887 53
# echo $
1
#
端口成功联通返回值是0,提示succeeded;否则返回1,不提示任何数据。linux下未作测试,自行测试。
1安装Telnet组件。转到程序控制面板,然后转到打开或关闭窗口功能,Telnet客户端和Telnet服务器勾选,从而安装Telnet组件。
2测试端口是否打开。它是由机器打开的虚拟机的地址,192168106128,端口22。在CMD下输入Telnet后,将出现一个窗口,提示您输入帮助以查看选项。
3接下来,o型19216810612822表明端口连接失败,表明港口可能占领或不开放(我这次连接失败,因为Ubuntu就安装在虚拟机没有SSH服务,所以我成功地连接到SSH服务后使用命令sudoapt-get安装SSH)。
如果打开另外一个窗口,说明连接成功。
4你可以用自己的机器做实验。在CMD下输入netstat-anpTCP,查看当前主机TCP打开了哪些端口。
一、以windows系统为例查看IP和远程连接端口的方法:
1窗口键+R,输入cmd回车
2输入ipconfig
看到IP地址
netstat
-ano看到端口号
备注:端口和机器上运行的软件有关,不同的软件端口不一样的例如浏览网页使用80号端口机器上端口号可能会很多,因为你运行的程序会很多。
二、以linux系统为例查看IP和远程连接端口的方法:
运行中输入ifconfig看IP地址
输入netstat看端口
工具/原料
nc
telnet
方法/步骤
1、首先端口分tcp、udp之分,所以同一个端口号还有tcp协议和udp协议之分。
2、最常见的工具是telnet,但是telnet使用的是tcp协议,换句话说telnet只能检测tcp的这个端口打开了没。
3、假设要看192192193211这个IP的tcp 22端口是否打开,则运行telnet 192192193211 22 来查看,如果出现下列信息,则表示该端口已打开。
4、如果出现下面信息,表是该端口未打开。
5、除了telnet以外,还有一个命令nc也可查看端口是否打开。
6、同样查看tcp 22端口是否打开,可以运行nc -z 192192193211 22,打开着就会出现下列信息:
7、那如果想要查看udp 22 端口是否打开,运行 nc –uz 192192193211 22, 打开这就会出现这些信息:
8、如果查询的端口没有打开,会出现以下输出:
8、nc 还可以一次性查看多了端口,例如:
在服务器中要查看端口,可以使用Netstat命令:
1、依次点击“开始→运行”,键入“cmd”并回车,打开命令提示符窗口。
2、在命令提示符状态下键入“netstat -a -n”,按下回车键后就可以看到以数字形式显示的TCP和UDP连接的端口号及状态。
端口相关的概念:
在网络技术中,端口(Port)包括逻辑端口和物理端口两种类型。物理端口指的是物理存在的端口,如ADSL Modem、集线器、交换机、路由器上用 于连接其他网络设备的接口,如RJ-45端口、SC端口等等。逻辑端口是指逻辑意义上用于区分服务的端口,如TCP/IP协议中的服务端口,端口号的范围从0到65535,比如用于浏览网页服务的80端口,用于FTP服务的21端口等。由于物理端口和逻辑端口数量较多,为了对端口进行区分,将每个端口进行了编号,这就是端口号
端口按端口号可以分为3大类:
1:公认端口(Well Known Port)
公认端口号从0到1023,它们紧密绑定与一些常见服务,例如FTP服务使用端口21,你在 /etc/services 里面可以看到这种映射关系。
2:注册端口(Registered Ports):
从1024到49151。它们松散地绑定于一些服务。也就是说有许多服务绑定于这些端口,这些端口同样用于许多其它目的。
3: 动态或私有端口(Dynamic and/or Private Ports)
动态端口,即私人端口号(private port numbers),是可用于任意软件与任何其他的软件通信的端口数,使用因特网的传输控制协议,或用户传输协议。动态端口一般4915265535Linux中有限定端口的使用范围,如果我要为我的程序预留某些端口,那么我需要控制这个端口范围。/proc/sys/net/ipv4/ip_local_port_range定义了本地TCP/UDP的端口范围,你可以在/etc/sysctlconf里面定义netipv4ip_local_port_range = 1024 65000。
如果你是在本地想知道远程服务器开的端口的话,去下载一个端口扫描器,扫一下目标机器开放的端口,然后再用远程连接试!(前提,对方机器无防火墙)这些工具比如:ssportexe
如果你已经登陆了目标机器,想知道他开的3389端口改成多少了。你可以进入注册表查看:
hkey_local_machine\system\currentcontrolset\control\terminal
server\wds\repwd\tds\tcp
portnumber的值,这个是16进制的,点开之后有个转换选项,可以看到10进制的值
1、点击桌面右下角“开始”,点击“运行”。
2、 在运行输入框中输入cmd,点击确定。
3、在命令行中输入如下命令:
netstat -ano ( 意思是查询当前计算机服务的命令)
4、在查询出来的信息中,proto代表使用的计算机协议,有TCP和UDP两种; Local Address指的是本地的IP地址; Foreign Address指的是外部IP地址,也就是与本机连接或者监听的对方IP地址。State代表当前服务的状态,有监听、建立连接等状态;PID代表当前服务在计算机中运行的ID号。
5、在查询到的服务中,如果发现有一行代码中本地使用的端口是“3389”,当前处于监听状态,正在等待外部计算机通过3389端口连接到本地。
使用快捷键:按下 Windows 键 + R 键组合。
2打开运行
3在运行输入CMD并点确定
4打开CMD
5在CMD输入netstat -ano
6点击回车展示全部连接信息
这些命令将显示当前的TCP列表、传输控制协议连接和端口、连接到本地地址的计算机名和远程连接地址的主机名。它还可以告诉你每个端口的状态(等待、已建立连接的端口等等)。
0条评论