windows系统端口监听

通常情况下,如果想发现所有已经使用的和正在监听的端口,我们可以使用netstat命令。 netstat并非一个端口扫描工具,如果你想扫描计算机开放了哪些端口的话,建议使用本文介绍的方法。

Netstat命令基础

Netstat命令主要用于显示协议统计信息和当前 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 停止重新显示统计信息。如果省略,netstat 显示当前配置信息(只显示一次)。

使用Netstat发现计算机上的监听或开放端口

打开命令提示符窗口,并键入:

<ccid_nobr></ccid_nobr>
<ccid_code></ccid_code>C:/WINDOWS>netstat -an |find /i "listening"

如果用户想要将显示结果存到一个文件中(通常是文本文件),以备日后参考,可以使用重定向命令,如“>”或“>>”:

<ccid_nobr></ccid_nobr>
<ccid_code></ccid_code>netstat -an |find /i "listening" > c:/openports.txt

我们可以将“listening”改为“established”,查看一下计算机到底通过哪些端口通信:

<ccid_nobr></ccid_nobr>
<ccid_code></ccid_code>C:/WINDOWS>netstat -an |find /i "established"

注意:在Windows XP和Windows Server2003中,如果用户要得到与每个连接相关的所有自有进程的ID列表,可以输入执行“NETSTAT -O”:

<ccid_nobr></ccid_nobr>
<ccid_code></ccid_code>C:/WINDOWS>netstat -ao |find /i "listening"
TCP   pro1:epmap   pro1.dpetri.net:0   LISTENING   860
TCP   pro1:microsoft-ds   pro1.dpetri.net:0   LISTENING   4
TCP   pro1:1025   pro1.dpetri.net:0   LISTENING   908
TCP   pro1:1084   pro1.dpetri.net:0   LISTENING   596
TCP   pro1:2094   pro1.dpetri.net:0   LISTENING   596
TCP   pro1:3389   pro1.dpetri.net:0   LISTENING   908
TCP   pro1:5000   pro1.dpetri.net:0   LISTENING   1068

用户可以访问http://www.petri.co.il/download_free_reskit_tools.htm.

使用PULIST来找到PID和使用它的进程。例如,我们可能会发现计算机在TCP端口80上有一个与远程IP地址的连接,但是计算机上并没有打开Internet Explorer或其它的浏览器窗口。为了查看到底是什么进程在使用

这个会话,我们使用如下的命令:

<ccid_nobr></ccid_nobr>
<ccid_code></ccid_code>C:/WINDOWS>netstat -no
Active Connections
Proto Local Address Foreign Address State PID
TCP   192.168.0.100:2496   212.179.4.7:80   ESTABLISHED   1536

然后使用带有“FIND”参数的“PULIST”命令:

<ccid_nobr></ccid_nobr>
<ccid_code></ccid_code>C:/WINDOWS>pulist |find /i "1536"
Process   PID   User
LUCOMS~1.EXE   1536   DPETRI/danielp

可以看出, DANIELP在运行着 LUCOMS~1.EXE,这是Symantec Live Update进程。

要查看所有打开的、已建立的、关闭的以及使用的端口,可以使用如下的命令:

<ccid_nobr></ccid_nobr>
<ccid_code></ccid_code>C:/WINDOWS>netstat -a

在Windows XP或2003中,我们可以使用-o开关:

<ccid_nobr></ccid_nobr>
<ccid_code></ccid_code>C:/WINDOWS>netstat -ao
什么是nc nc是netcat的简写,有着网络界的瑞士军刀美誉。因为它短小精悍、功能实用,被设计为一个简单、可靠的网络工具 nc的作用 (1)实现任意TCP/UDP端口的侦听,nc可以作为server以TCP或UDP方式侦听指定端口 (2)端口的扫描,nc可以作为client发起TCP或UDP连接 (3)机器之间传输文件 (4)机器之间网络测速                                                                                                                                                                                                                         nc的控制参数不少,常用的几个参数如下所列: 1) -l 用于指定nc将处于侦听模式。指定该参数,则意味着nc被当作server,侦听并接受连接,而非向其它地址发起连接。 2) -p 暂未用到(老版本的nc可能需要在端口号前加-p参数,下面测试环境是centos6.6,nc版本是nc-1.84,未用到-p参数) 3) -s  指定发送数据的源IP地址,适用于多网卡机  4) -u  指定nc使用UDP协议,默认为TCP 5) -v 输出交互或出错信息,新手调试时尤为有用 6)-w 超时秒数,后面跟数字  7)-z 表示zero,表示扫描时不发送任何数据       前期准备 准备两台机器,用于测试nc命令的用法 主机A:ip地址 10.0.1.161 主机B:ip地址 10.0.1.162   两台机器先安装nc和nmap的包 yum install nc -y yum install nmap -y 如果提示如下-bash: nc: command not found 表示没安装nc的包 ———————————————— 版权声明:本文为CSDN博主「小毛毛2013」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/u012486730/article/details/82019996
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值