一:Netcat工具(nc命令)
nc号称是网络工具中的瑞士军刀,功能强大,可以做很多很多事情。如果系统没有安装的话,
安装netcat:
yum install -y nc
实例:测试www.test.com的80到443端口是否开放
nc -vz -w 2 www.test.com 80-443
nc -z -v 192.118.20.95 22
适用格式
重要的参数,略做介绍:
-4,-6 表示ipv 4和ipv6模式
-u 表示扫描UDP端口,默认是TCP端口
-o -x 结果输出到文件,x表示以二进制格式。
-v 结果的详细程度,可以多个v,比如-vv –vvv 数量越多表示结果越详细
-p –s 表示指定扫描源地址和ip。
-z 表零IO模式,表示扫描时不发送任何数据
-w 秒数 设置超时
二:nmap 是端口扫描之王
描述
Nmap (“Network Mapper(网络映射器)”) 是一款开放源代码的 网络探测和安全审核的工具。 它的设计目标是快速地扫描大型网络,当然用它扫描单个主机也没有问题。Nmap以新颖的方式使用原始 IP报文来发现网络上有哪些主机,那些主机提供什么服务(应用程序名和版本),那些服务运行在什么操作系统(包括版本信息), 它们使用什么类型的报文过滤器/防火墙,以及一堆其它功能。虽然 Nmap 通常用于安全审核,许多系统管理员和网络管理员也用它来做一些 日常的工作,比如查看整个网络的信息, 管理服务升级计划,以及监视主机和服务的运行。
Nmap 输出的是扫描目标的列表,以及每个目标的补充信息,至于是哪些信息则依赖于所使用的选项。 “所感兴趣的端口表格”是其中的关键。那张表列出端口号,协议,服务名称和状态。状态可能是 open(开放的),filtered(被过滤的), closed(关闭的),或者 unfiltered(未被过 滤的)。Open(开放的)意味着目标机器上的应用程序正在该端口监听连接/报文。 filtered(被过滤的) 意味着防火墙,过滤器或者其它网络障碍阻止了该端口被访问,Nmap无法得知它是open(开放的) 还是closed(关闭的)。closed(关闭的)端口没有应用程序在它上面监听,但是他们随时可能开放。当端口对 Nmap 的探测做出响应,但是Nmap 无法确定它们是关闭还是开放时,这些端口就被认为是unfiltered(未被过滤的) 如果Nmap报告状态组合open|filtered 和closed|filtered时,那说明Nmap无法确定该端口处于两个状态中的哪一个状态。当要求 进行版本探测时,端口表也可以包含软件的版本信息。当要求进行 IP 协议扫描时 (-sO),Nmap提供关于所支持的 IP 协议而不是正在监听的端口的信息。除了所感兴趣的端口表,Nmap还能提供关于目标机的进一步信息,包括反向域名,操作系统猜测,设备类型,和Mac 地址。
Nmap 所识别的 6 个端口状态。 open(开放的)
应用程序正在该端口接收 TCP 连接或者 UDP 报文 发现这一点常常是端口扫描 的主要目 标。安全意识强的人们知道每个开放的端口 都是攻击的入口。攻击者或者入侵测试者想 要发现开放的端口。 而管理员则试图关闭它们或者用防火墙保护它们以免妨碍了合法用 户。 非安全扫描可能对开放的端口也感兴趣,因为它们显示了网络上那些服务可供使用
closed(关闭的)
关闭的端口对于 Nmap 也是可访问的(它接受 Nmap 的探测报文并作出响应), 但没有应用 程序在其上监听。 它们可以显示该 IP 地址上(主机发现,或者 ping 扫描)的主机正在运 行 up 也对部分操作系统探测有所帮助。 因为关闭的关口是可访问的,也许过会儿值得 再扫描一下,可能一些又开放了。 系统管理员可能会考虑用防火墙封锁这样的端口。 那 样他们就会被显示为被过滤的状态,下面讨论。
filtered(被过滤的)
由于包过滤阻止探测报文到达端口, Nmap 无法确定该端口是否开放。过滤可能来自专业 的防火墙设备,路由器规则 或者主机上的软件防火墙。这样的端口让攻击者感觉很挫折 因为它们几乎不提供 任何信息。有时候它们响应 ICMP 错误消息如类型 3 代码 13 (无法 到达目标: 通信被管理员禁止),但更普遍的是过滤器只是丢弃探测帧, 不做任何响应 这迫使 Nmap 重试若干次以访万一探测包是由于网络阻塞丢弃的。 这使得扫描速度明显 变慢。
unfiltered(未被过滤的)
未被过滤状态意味着端口可访问,但 Nmap 不能确定它是开放还是关闭。 只有用于映射 防火墙规则集的 ACK 扫描才会把端口分类到这种状态。 用其它类型的扫描如窗口扫描, SYN 扫描,或者 FIN 扫描来扫描未被过滤的端口可以帮助确定 端口是否开放。
open|filtered(开放或者被过滤的)
当无法确定端口是开放还是被过滤的,Namp 就把该端口划分成 这种状态。开放的端口不 响应就是一个例子。没有响应也可能意味着报文过滤器丢弃 了探测报文或者它引发的任 何响应。因此 Nmap 无法确定该端口是开放的还是被过滤的。 UDP,IP 协议, FIN,Null 和 Xmas 扫描可能把端口归入此类。
closed|filtered(关闭或者被过滤的)
该状态用于 Nmap 不能确定端口是关闭的还是被过滤的。 它只可能出现在 IPID Idle 扫 描中。
一个典型的 Nmap 扫描如 Example 1, “一个典型的 Nmap 扫描”所示。在这个例子中,唯一的选 项是-A, 用来进行操作系统及其版本的探测,-T4 可以加快执行速度,接着是两个目标主机名
nmap -A -T4 192.168.1.1
timing 参数可以指定 nmap 扫描的速度。其中各个选项如下:
T0 => paranoid 慢速网络扫描,串行扫描,两次扫描间隔 5 分钟。扫描速度极慢。
T1 => Sneky 慢速网络扫描,串行扫描,两次扫描间隔 15 秒,扫描速度较慢。
T2 => Polite 中速网络扫描,串行扫描,两次扫描间隔 400 毫秒,扫描速度慢。
T3 => Normal 中速网络扫描,并行扫描,两次扫描间隔 0 秒,扫描速度正常。
T4 => Aggressive 快速网络扫描,并行扫描,两次扫描间隔 0 秒,扫描速度较快。
T5 => Normal 快速网络扫描,并行扫描,两次扫描间隔 0 秒,扫描速度极快。
-sS 使用SYN+ACK的方法,使用TCP SYN,
-sT 使用TCP的方法, 完成3次握手
-sU 使用UDP的方法
-sP ICMP ECHO Request 送信,有反应的端口进行调查
-sF FIN SCAN
-sN 全部FLAG OFF的无效的TCP包送信,根据错误代码判断端口情况
-P0 无视ICMP ECHO request的结果,SCAN
-p scan port range 指定SCAN的目端口的范围1-100, 或者使用25,100的方式
-O 侦测OS的种类
-oN 文件名 通常格式文件输出
-oX 文件名 通过DTD,使用XML格式输出结果
-oG 文件名,grep容易的格式输出
-sV 服务的程序名和版本SCAN
#ARP扫描,探测本网段存活的设备:
nmap -PR 192.168.1.0/24
#完成后,查看ARP表:
cat /proc/net/arp
#进行ping扫描,列出对扫描做出响应的主机:
nmap -sP 172.16.26.0/24
#仅列出指定网络上的每台主机,不发送任何报文到目标主机,被动
nmap -sL 192.168.1.0/24
#探测目标主机开放的端口,可以指定一个以逗号分隔的端口列表(如-PS 22,23,25,80):
nmap -PS 192.168.1.234
#使用UDP ping探测主机:
nmap -PU 192.168.1.0/24
#使用频率最高的扫描选项(SYN扫描,又称为半开放扫描),它不打开一个完全的TCP连接,执行得很快:
nmap -sS 192.168.1.0/24
#SYN扫描,指定IP范围指定端口。
nmap -sS 192.168.1.1-30 -p 80
#探测端口的服务和版本
nmap -sV 192.168.1.1 -p 1-65535
#探测操作系统类型和版本
nmap -O 192.168.1.1
nmap -A -T4 192.168.1.1
#扫描路由器
#Nmap内部维护了一份系统与设备的数据库(nmap-os-db),能够识别数千种不同系统与设备。所以,可以用来扫描主流的路由器设备。 #扫描思科路由器
nmap -p1-25,80,512-515,2001,4001,6001,9001 10.20.0.1/16
#思科路由器会在上述端口中运行了常见的服务。列举出上述端口开放的主机,可以定位到路由器设备可能的IP地址及端口状态。
#扫描路由器操作系统
#与通用PC扫描方式类似,使用-O选项扫描路由器的操作系统。-F用于快速扫描最可能开放的100个端口,并根据端口扫描结果进一步做OS的指纹分析。
nmap -O -F -n 192.168.1.1
#扫描指定IP开放端口
nmap -sS -p 1-65535 -v www.xxx.com
-sS: 半开扫描,很少系统会把它计入系统日记。但是要root权限。
-p:指定端口。
-v:显示扫描过程,推荐使用。
#探测主机操作系统
nmap -O www.xxx.com
#全面探测系统
nmap -v -A www.xxx.com
-A: 全面系统检测,启用脚本检测。
#穿透防火墙进行扫描
nmap -Pn -A www.xxx.com
#实例脚本引擎
nmap -p 80 --script=xxx.nse www.xxx.com
#扫描57.182.0.0/21的2048 IP地址的80端口是是否开放,并只显示开放的主机。
nmap -sT -p 80 -oG – –open 57.182.0.0/21
#扫描57.182.0.0/21的2048 IP地址的80端口是是否开放,并只显示开放的主机。
nmap -sT -p 80 -oG – –open 57.182.0.0/21
#扫描IP.TXT文件里所有IP的开放80端口的主机。
#有5000个左右的IP需要扫描80端口,(可以一行一条写在文本文档里。)
nmap -p 80 -iL “E:\\ip.txt” –open
#扫描116.148.0.0/18下的所有IP的8080端口,并把扫描结果保存入D盘nmap.txt。
#在Windows命令行下使用nmap扫描一个IP段,并把结果导入指定的TXT文件。 nmap -sS -p 8080 -T4 -Pn –open -oG d:\nmap.txt 116.148.0.0/18
渗透案例:
http://blog.csdn.net/zmeixuan/article/details/77587521
nmap详细指引
https://www.kancloud.cn/wizardforcel/nmap-man-page/141686
三:zmap扫描最快的工具
XXXX
四:Masscan熊掌鱼扫描器
XXX
有道云笔记 https://note.youdao.com/ynoteshare/index.html?id=bcdac087d03c275ae3ea13142933c7b6