几种查看本机开放端口的方法

1. Windows本身自带的netstat命令
  关于netstat命令,我们先来看看windows帮助文件中的介绍:
  Netstat
  显示协议统计和当前的 TCP/IP 网络连接。该命令只有在安装了 TCP/IP 协议后才可以使用。
  netstat [-a] [-e] [-n] [-s] [-p protocol] [-r] [interval]
  参数
  -a
  显示所有连接和侦听端口。服务器连接通常不显示。
  -e
  显示以太网统计。该参数可以与 -s 选项结合使用。
  -n
  以数字格式显示地址和端口号(而不是尝试查找名称)。
  -s
  显示每个协议的统计。默认情况下,显示 TCP、UDP、ICMP 和 IP 的统计。-p 选项可以用来指定默认的子集。
  -p protocol
  显示由 protocol 指定的协议的连接;protocol 可以是 tcp 或 udp。如果与 -s 选项一同使用显示每个协议的统计,protocol 可以是 tcp、udp、icmp 或 ip。
  -r
  显示路由表的内容。
  interval
  重新显示所选的统计,在每次显示之间暂停 interval 秒。按 CTRL+B 停止重新显示统计。如果省略该参数,netstat 将打印一次当前的配置信息。
  好了,看完这些帮助文件,我们应该明白netstat命令的使用方法了。现在就让我们现学现用,用这个命令看一下自己的机器开放的端口。进入到命令行下,使用netstat命令的a和n两个参数:
  C:/>netstat -an
  Active Connections
  Proto Local Address Foreign Address State
  TCP 0.0.0.0:80 0.0.0.0:0 LISTENING
  TCP 0.0.0.0:21 0.0.0.0:0 LISTENING
  TCP 0.0.0.0:7626 0.0.0.0:0 LISTENING
  UDP 0.0.0.0:445 0.0.0.0:0
  UDP 0.0.0.0:1046 0.0.0.0:0
  UDP 0.0.0.0:1047 0.0.0.0:0
  解释一下,Active Connections是指当前本机活动连接,Proto是指连接使用的协议名称,Local Address是本地计算机的 IP 地址和连接正在使用的端口号,Foreign Address是连接该端口的远程计算机的 IP 地址和端口号,State则是表明TCP 连接的状态,你可以看到后面三行的监听端口是UDP协议的,所以没有State表示的状态。看!我的机器的7626端口已经开放,正在监听等待连接,像这样的情况极有可能是已经感染了冰河!急忙断开网络,用杀毒软件查杀病毒是正确的做法。

2.工作在windows2000下的命令行工具fport
  使用windows2000的朋友要比使用windows9X的幸运一些,因为可以使用fport这个程序来显示本机开放端口与进程的对应关系。
  Fport是FoundStone出品的一个用来列出系统中所有打开的TCP/IP和UDP端口,以及它们对应应用程序的完整路径、PID标识、进程名称等信息的软件。在命令行下使用,请看例子:
  D:/>fport.exe
  FPort v1.33 - TCP/IP Process to Port Mapper
  Copyright 2000 by Foundstone, Inc.
  http://www.foundstone.com
  Pid Process Port Proto Path
  748 tcpsvcs -> 7 TCP C:/WINNT/System32/ tcpsvcs.exe
  748 tcpsvcs -> 9 TCP C:/WINNT/System32/tcpsvcs.exe
  748 tcpsvcs -> 19 TCP C:/WINNT/System32/tcpsvcs.exe
  416 svchost -> 135 TCP C:/WINNT/system32/svchost.exe
  是不是一目了然了。这下,各个端口究竟是什么程序打开的就都在你眼皮底下了。如果发现有某个可疑程序打开了某个可疑端口,可千万不要大意哦,也许那就是一只狡猾的木马!
  Fport的最新版本是2.0。在很多网站都提供下载,但是为了安全起见,当然最好还是到它的老家去下: http://www.foundstone.com/knowledge/zips/fport.zip

3.与Fport功能类似的图形化界面工具Active Ports
  Active Ports为SmartLine出品,你可以用来监视电脑所有打开的TCP/IP/UDP端口,不但可以将你所有的端口显示出来,还显示所有端口所对应的程序所在的路径,本地IP和远端IP(试图连接你的电脑IP)是否正在活动。
  是不是很直观?更棒的是,它还提供了一个关闭端口的功能,在你用它发现木马开放的端口时,可以立即将端口关闭。这个软件工作在Windows NT/2000/XP平台下。你可以在 http://www.smartline.ru/software/aports.zip得到它。
  其实使用windows xp的用户无须借助其它软件即可以得到端口与进程的对应关系,因为windows xp所带的netstat命令比以前的版本多了一个O参数,使用这个参数就可以得出端口与进程的对应来。

上面介绍了几种查看本机开放端口,以及端口和进程对应关系的方法,通过这些方法可以轻松的发现基于TCP/UDP协议的木马,希望能给你的爱机带来帮助。但是对木马重在防范,而且如果碰上反弹端口木马,利用驱动程序及动态链接库技术制作的新木马时,以上这些方法就很难查出木马的痕迹了。所以我们一定要养成良好的上网习惯,不要随意运行邮件中的附件,安装一套杀毒软件,像国内的瑞星就是个查杀病毒和木马的好帮手。从网上下载的软件先用杀毒软件检查一遍再使用,在上网时打开网络防火墙和病毒实时监控,保护自己的机器不被可恨的木马入侵。

### 如何在命令行中查看本机开放端口 #### Linux 系统下查看方法 在 Linux 中,可以通过多种方式来查看当前主机上开放端口。以下是几种常用的方法: 1. **使用 `nmap` 工具** 如果已安装 `nmap`,可以直接通过它扫描本机或其他远程机器上的开放端口。例如,执行以下命令即可扫描本机的所有开放端口: ```bash nmap 127.0.0.1 ``` 此外,还可以指定特定的端口范围进行扫描。比如仅扫描 80 和 443 端口: ```bash nmap -p 80,443 localhost ``` 这种方法适用于快速获取目标主机的开放端口和服务信息[^1]。 2. **使用 `netstat` 命令** 对于较旧版本的 Linux 发行版,可以利用 `netstat` 来查看网络连接和端口状态。具体命令如下: ```bash netstat -a -n | grep LISTEN ``` 或者更简洁的方式: ```bash netstat -tuln ``` 上述命令中的选项含义分别为 `-t` 显示 TCP 协议、`-u` 显示 UDP 协议、`-l` 列出正在监听的服务、`-n` 使用数字形式表示地址和端口号[^4]。 3. **使用 `ss` 替代 `netstat`** 在现代 Linux 版本中推荐使用更为高效的 `ss`(Socket Statistics)工具替代传统的 `netstat`。其语法类似于后者,但性能更好。例如: ```bash ss -tuln ``` 它同样能够展示所有处于监听状态下的 TCPUDP 端口列表[^4]。 #### Windows 系统下查看方法 对于运行 Microsoft Windows 的设备来说,则需借助内置的 NetStat 实用程序完成相同功能的操作步骤如下: 1. 打开“运行”对话框 (`Win + R`) 并输入 cmd 后按 Enter 键启动命令提示符; 2. 输入下面这条指令并回车确认: ```cmd netstat -an ``` 参数解释同前文提到过的 Linux 下 netstat 功能一致。 --- ### 注意事项 无论在哪种操作系统平台上操作之前都应该确保拥有足够的权限来进行这些检查动作;另外需要注意的是当发现异常情况时应该进一步排查原因而不是轻易关闭未知用途的重要服务以免影响正常业务运作。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值