使用 netcat [nc] 命令对 Linux 和 Unix 进行端口扫描

简介:

使用 netcat [nc] 命令对 Linux 和 Unix 进行端口扫描


我如何在自己的服务器上找出哪些端口是开放的?如何使用 nc 命令进行端口扫描来替换 Linux 或类 Unix 中的 nmap 命令

nmap (“Network Mapper”)是一个用于网络探测和安全审核的开源工具。如果 nmap 没有安装或者你不希望使用 nmap,那你可以用 netcat/nc 命令进行端口扫描。它对于查看目标计算机上哪些端口是开放的或者运行着服务是非常有用的。你也可以使用 nmap 命令进行端口扫描 。

如何使用 nc 来扫描 Linux,UNIX 和 Windows 服务器的端口呢?

如果未安装 nmap,试试 nc/netcat 命令,如下所示。-z 参数用来告诉 nc 报告开放的端口,而不是启动连接。在 nc 命令中使用 -z 参数时,你需要在主机名/ip 后面限定端口的范围和加速其运行:


  
  
  1. ### 语法 ###
  2. ### nc -z -v {host-name-here} {port-range-here}
  3. nc -z -v host-name-here ssh
  4. nc -z -v host-name-here 22
  5. nc -w 1 -z -v server-name-here port-Number-her
  6. ### 扫描 1 to 1023 端口 ###
  7. nc -zv vip-1.vsnl.nixcraft.in 1-1023

输出示例:


  
  
  1. Connection to localhost 25 port [tcp/smtp] succeeded!
  2. Connection to vip-1.vsnl.nixcraft.in 25 port [tcp/smtp] succeeded!
  3. Connection to vip-1.vsnl.nixcraft.in 80 port [tcp/http] succeeded!
  4. Connection to vip-1.vsnl.nixcraft.in 143 port [tcp/imap] succeeded!
  5. Connection to vip-1.vsnl.nixcraft.in 199 port [tcp/smux] succeeded!
  6. Connection to vip-1.vsnl.nixcraft.in 783 port [tcp/*] succeeded!
  7. Connection to vip-1.vsnl.nixcraft.in 904 port [tcp/vmware-authd] succeeded!
  8. Connection to vip-1.vsnl.nixcraft.in 993 port [tcp/imaps] succeeded!

你也可以扫描单个端口:


  
  
  1. nc -zv v.txvip1 443
  2. nc -zv v.txvip1 80
  3. nc -zv v.txvip1 22
  4. nc -zv v.txvip1 21
  5. nc -zv v.txvip1 smtp
  6. nc -zvn v.txvip1 ftp
  7. ### 使用1秒的超时值来更快的扫描 ###
  8. netcat -v -z -n -w 1 v.txvip1 1-1023

输出示例:

Fig.01: Linux/Unix: Use Netcat to Establish and Test TCP and UDP Connections on a Server

图01:Linux/Unix:使用 Netcat 来测试 TCP 和 UDP 与服务器建立连接

  1. -z : 端口扫描模式即零 I/O 模式。
  2. -v : 显示详细信息 [使用 -vv 来输出更详细的信息]。
  3. -n : 使用纯数字 IP 地址,即不用 DNS 来解析 IP 地址。
  4. -w 1 : 设置超时值设置为1。

更多例子:


  
  
  1. $ netcat -z -vv www.cyberciti.biz http
  2. www.cyberciti.biz [75.126.153.206] 80 (http) open
  3. sent 0, rcvd 0
  4. $ netcat -z -vv google.com https
  5. DNS fwd/rev mismatch: google.com != maa03s16-in-f2.1e100.net
  6. DNS fwd/rev mismatch: google.com != maa03s16-in-f6.1e100.net
  7. DNS fwd/rev mismatch: google.com != maa03s16-in-f5.1e100.net
  8. DNS fwd/rev mismatch: google.com != maa03s16-in-f3.1e100.net
  9. DNS fwd/rev mismatch: google.com != maa03s16-in-f8.1e100.net
  10. DNS fwd/rev mismatch: google.com != maa03s16-in-f0.1e100.net
  11. DNS fwd/rev mismatch: google.com != maa03s16-in-f7.1e100.net
  12. DNS fwd/rev mismatch: google.com != maa03s16-in-f4.1e100.net
  13. google.com [74.125.236.162] 443 (https) open
  14. sent 0, rcvd 0
  15. $ netcat -v -z -n -w 1 192.168.1.254 1-1023
  16. (UNKNOWN) [192.168.1.254] 989 (ftps-data) open
  17. (UNKNOWN) [192.168.1.254] 443 (https) open
  18. (UNKNOWN) [192.168.1.254] 53 (domain) open

也可以看看 :



本文来自云栖社区合作伙伴“Linux中国”
原文发布时间为:2013-04-02.

相关文章
|
13天前
|
Linux Shell
Linux 10 个“who”命令示例
Linux 10 个“who”命令示例
40 14
Linux 10 个“who”命令示例
|
1天前
|
Ubuntu Linux
Linux 各发行版安装 ping 命令指南
如何在不同 Linux 发行版(Ubuntu/Debian、CentOS/RHEL/Fedora、Arch Linux、openSUSE、Alpine Linux)上安装 `ping` 命令,详细列出各发行版的安装步骤和验证方法,帮助系统管理员和网络工程师快速排查网络问题。
42 20
|
2天前
|
网络协议 Linux 应用服务中间件
kali的常用命令汇总Linux
kali的常用命令汇总linux
21 7
|
2天前
|
Unix Linux 编译器
UNIX/Linux 上的安装
UNIX/Linux 上的安装。
10 2
|
22天前
|
Linux 数据库
Linux中第一次使用locate命令报错?????
在Linux CentOS7系统中,使用`locate`命令时出现“command not found”错误,原因是缺少`mlocate`包。解决方法是通过`yum install mlocate -y`或`apt-get install mlocate`安装该包,并执行`updatedb`更新数据库以解决后续的“can not stat”错误。
31 9
|
20天前
|
监控 网络协议 Linux
Linux netstat 命令详解
Linux netstat 命令详解
|
5月前
|
弹性计算 应用服务中间件 Linux
阿里云服务器开放端口完整图文教程
笔者近期开发完成的服务端程序部署在阿里云的ECS云服务器上面,一些应用程序配置文件需要设置监听的端口(如Tomcat的8080、443端口等),虽然通过CentOs 7系统的的「防火墙」开放了对应的端口号,任然无法访问端口号对应的应用程序,后面了解到原来还需要设置云服务器的「安全组规则」,开放相应的端口权限,服务端的接口才能真正开放。
735 1
阿里云服务器开放端口完整图文教程
|
5月前
|
弹性计算 运维 数据安全/隐私保护
云服务器 ECS产品使用问题之如何更改服务器的IP地址或端口号
云服务器ECS(Elastic Compute Service)是各大云服务商阿里云提供的一种基础云计算服务,它允许用户租用云端计算资源来部署和运行各种应用程序。以下是一个关于如何使用ECS产品的综合指南。
|
4月前
|
缓存 NoSQL 网络安全
【Azure Redis 缓存】使用开源工具redis-copy时遇见6379端口无法连接到Redis服务器的问题
【Azure Redis 缓存】使用开源工具redis-copy时遇见6379端口无法连接到Redis服务器的问题
|
5月前
|
网络协议 Linux Unix
面试官:服务器最大可以创建多少个tcp连接以及端口并解释下你对文件句柄的理解
面试官:服务器最大可以创建多少个tcp连接以及端口并解释下你对文件句柄的理解
147 0
面试官:服务器最大可以创建多少个tcp连接以及端口并解释下你对文件句柄的理解