如何查看计算机的端口

如何查看计算机的端口,第1张

查看端口的方法

1、命令方式

下面以windows xp为例看看新安装的系统都开了那些端口,也就是说都预留了那些门,不借助任何工具来查看端口的命令是netstat,方法如下:

a、在“开始”的“运行”处键入cmd,回车

b、在dos命令界面,键入netstat -na,显示的就是打开的服务端口,其中proto

代表协议,可以看出有tcp和udp两种协议。local address代表本机地址,该地址冒号后的数字就是开放的端口号。foreign address代表远程地址,如果和其它机器正在通信,显示的就是对方的地址,state代表状态,显示的listening表示处于侦听状态,就是说该端口是开放的,等待连接,但还没有被连接。就像你房子的门已经敞开了,但此时还没有人进来。以第一行为例看看它的意思。

tcp 0000:135 0000:0 listening

这一行的意思是本机的135端口正在等待连接。注意:只有tcp协议的服务端口才能处于listening状态。

用netstat命令查看端口状态

2、用tcpview工具

为了更好的分析端口,最好用tcpview这个软件,该软件很小只有93kb,而且是个绿色软件,不用安装。

第一次运行显示时字体有些小,在“options”->“font”中将字号调大即可。tcpview显示的数据是动态的。图3中local address显示的就是本机开放的哪个端口(:号后面的数字),tcpview可以看出哪个端口是由哪个程序发起的。从图3可以看出445、139、1025、135、5000等端口是开放的,445、139等端口都是system发起的,135等都是svchost发起的。

1)使用lsof命令

lsof是一个非常强大的linux工具,她被用来查找哪些程序使用了那些文件。在linux系统下,基本上所有的东西都可以被当作文件来用。socket当然也是一种文件了。所以lsof可以用来查找谁用了某一个端口。具体方法:

lsof -i :port_number |grep "(LISTEN)"

-i是用来查找和网络相关的文件,":"号是必须的,它是标志你查找的是一个端口。port_number就是你要查找的端口号,譬如你要查找是否 有程序占用了oracle的监听端口1521,就可以使用lsof -i :1521 |grep "(LISTEN)"。如果有程序已经占用了,那么下面打印的第二个字段就是该程序的进程id,第一个字段是进程的名字。

如果只有losf -i :port_number可能会查到很多应用程序,但这些程序实际并没有占用你指定的端口,这些端口只是连接到本机器或者别的机器的该端口。所以要grep "(LISTEN)“,因为一个端口只可能被一个程序占用的,所以这种方法是可靠的。

2)使用netstat 命令

大家一定对这个命令比较熟悉了,可能你从没有想到用到来查找哪一个程序的占用了指定的端口。但是netstat -an 的确提供了这种功能。所以有问题了一定要想到先去查找man手册,不过说实话,某些man手册写得让中国人看不懂,那没有办法了,就googe或者 baidu一下吧。

执行man netstat命令,你会发现netstat 提供了'-p'的选项,这个选项的功能是告诉你哪个程序占用了该端口,但是她提供的形式比较古怪是以pid/process_name提供的。pid当然 是进程id了,process_name是进程的命令,中间以'/'号分隔。

和上面的原因一样,我们只查找listen的端口,netstat 给我们提供了-l的选项,这个选项不是默认的选项。

下面以1521端口来看怎么查找到该程序,我们使用下面的命令:

netstat -lnp|awk 'BEGIN{prt=":1521$"}{if ($4 ~ prt) print $0}'

在这里使用awk来匹配第4个字段的模式是为了避免误判。

(更新)您要看到PID对应的是哪个程序的端口,只需要在任务管理器中,选择查看\列,在”列”选项卡中,把PID号勾上,就可以在任务管理器中看到进程的PID号了希望对您有用

在CMD里面输入netstat -ano

可以找到端口和应用程序对应的PID号

再打开任务管理器,选到进程,选择查看\列,把PID号钩选,就可以看到响应进程的PID号了 ``再去对比就行了

希望对你有帮助

可能是命令没有输入正确哦~~`

注意netstat 跟-ano之间有一个空格哦~`

是netstat -ano

另外:不知道您是什么系统,怎么会出现英文的解释

(!!参数分开打也可以,比如netstat -o就会显示出进程ID)

对应的中文解释是:

显示协议统计信息和当前 TCP/IP 网络连接。

NETSTAT [-a] [-b] [-e] [-n] [-o] [-p proto] [-r] [-s] [-v] [interval]

-a 显示所有连接和监听端口。

-b 显示包含于创建每个连接或监听端口的

可执行组件。在某些情况下已知可执行组件

拥有多个独立组件,并且在这些情况下

包含于创建连接或监听端口的组件序列

被显示。这种情况下,可执行组件名

在底部的 [] 中,顶部是其调用的组件,

等等,直到 TCP/IP 部分。注意此选项

可能需要很长时间,如果没有足够权限

可能失败。

-e 显示以太网统计信息。此选项可以与 -s

选项组合使用。

-n 以数字形式显示地址和端口号。

-o 显示与每个连接相关的所属进程 ID。

-p proto 显示 proto 指定的协议的连接;proto 可以是

下列协议之一: TCP、UDP、TCPv6 或 UDPv6。

如果与 -s 选项一起使用以显示按协议统计信息,proto 可以是下列协议

之一:

IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 或 UDPv6。

-r 显示路由表。

-s 显示按协议统计信息。默认地,显示 IP、

IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 和 UDPv6 的统计信息;

-p 选项用于指定默认情况的子集。

-v 与 -b 选项一起使用时将显示包含于

为所有可执行组件创建连接或监听端口的

组件。

interval 重新显示选定统计信息,每次显示之间

暂停时间间隔(以秒计)。按 CTRL+C 停止重新

显示统计信息。如果>>

以上就是关于如何查看计算机的端口全部的内容,包括:如何查看计算机的端口、linux 查看端口被哪个程序占用、如何查看某应用程序端口等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9349437.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-27
下一篇2023-04-27

发表评论

登录后才能评论

评论列表(0条)

    保存