常用端口扫描软件有_用套接字实现端口扫描程序

hacker|
193

怎么用BAT文件做端口扫描器

首先,给你更正一下,估计是你看了别人的教程或者软件,让你以为BAT可以扫端口,严格意义上说批处理文件BAT是不能真正意义上实现扫端口功能,即使有也是利用TELNET。而且是单线程。是没任何意义的。你看到的我估计是S扫描器,然后别人做成一个批处理,比如流行的扫135,1433,3389或者其他溢出都喜欢用S扫描器,因为它速度一流,而且是命令下操作适合做成BAT文件批量处理。而输出扫描结果这个比较简单,就是写几行批处理来提取S扫描器生成的结果Result.txt文件,然后输出到5.txt中。就这么简单。这些代码网上有现成的,如果你有需要可以给我留言,适当的给你分享分享!

渗透测试之端口扫描

端口扫描:端口对应 *** 服务及应用端程序

服务端程序的漏洞通过端口攻入

发现开放的端口

更具体的攻击面

UDP端口扫描:

如果收到ICMP端口不可达,表示端口关闭

如果没有收到回包,则证明端口是开放的

和三层扫描IP刚好相反

Scapy端口开发扫描

命令:sr1(IP(dst="192.168.45.129")/UDP(dport=53),timeout=1,verbose=1)

nmap -sU 192.168.45.129

TCP扫描:基于连接的协议

三次握手:基于正常的三次握手发现目标是否在线

隐蔽扫描:发送不完整的数据包,不建立完整的连接,如ACK包,SYN包,不会在应用层访问,

僵尸扫描:不和目标系统产生交互,极为隐蔽

全连接扫描:建立完整的三次握手

所有的TCP扫描方式都是基于三次握手的变化来判断目标系统端口状态

隐蔽扫描:发送SYN数据包,如果收到对方发来的ACK数据包,证明其在线,不与其建立完整的三次握手连接,在应用层日志内不记录扫描行为,十分隐蔽, *** 层审计会被发现迹象

僵尸扫描:是一种极其隐蔽的扫描方式,实施条件苛刻,对于扫描发起方和被扫描方之间,必须是需要实现地址伪造,必须是僵尸机(指的是闲置系统,并且系统使用递增的IPID)早期的win xp,win 2000都是递增的IPID,如今的LINUX,WINDOWS都是随机产生的IPID

1,扫描者向僵尸机发送SYN+ACY,僵尸机判断未进行三次握手,所以返回RST包,在RST数据包内有一个IPID,值记为X,那么扫描者就会知道被扫描者的IPID

2,扫描者向目标服务器发送SYN数据包,并且伪装源地址为僵尸机,如果目标服务器端口开放,那么就会向僵尸机发送SYN+ACK数据包,那么僵尸机也会发送RST数据包,那么其IPID就是X+1(因为僵尸机足够空闲,这个就为其收到的第二个数据包)

3,扫描者再向僵尸机发送SYN+ACK,那么僵尸机再次发送RST数据包,IPID为X+2,如果扫描者收到僵尸机的IPID为X+2,那么就可以判断目标服务器端口开放

使用scapy发送数据包:首先开启三台虚拟机,

kali虚拟机:192.168.45.128

Linux虚拟机:192.168.45.129

windows虚拟机:192.168.45.132

发送SYN数据包:

通过抓包可以查看kali给linux发送syn数据包

linux虚拟机返回Kali虚拟机SYN+ACK数据包

kali系统并不知道使用者发送了SYN包,而其莫名其妙收到了SYN+ACK数据包,便会发RST包断开连接

也可以使用下列该命令查看收到的数据包的信息,收到对方相应的SYN+ACK数据包,scapy默认从本机的80端口往目标系统的20号端口发送,当然也可以修改

如果向目标系统发送一个 随机端口:

通过抓包的获得:1,kali向linux发送SYN数据包,目标端口23456,

2,Linux系统由自己的23456端口向kali系统的20号端口返回RST+ACK数据包,表示系统端口未开放会话结束

使用python脚本去进行scapy扫描

nmap做隐蔽端口扫描:

nmap -sS  192.168.45.129 -p 80,21,110,443 #扫描固定的端口

nmap -sS 192.168.45.129 -p 1-65535 --open  #扫描该IP地址下1-65535端口扫描,并只显示开放的端口

nmap -sS 192.168.45.129 -p --open  #参数--open表示只显示开放的端口

nmap -sS -iL iplist.txt -p 80

由抓包可知,nmap默认使用-sS扫描,发送SYN数据包,即nmap=nmap  -sS

hping3做隐蔽端口扫描:

hping3 192.168.45.129 --scan 80 -S  #参数--scan后面接单个端口或者多个端口.-S表示进行SYN扫描

hping3 192.168.45.129 --scan 80,21,25,443 -S

hping3 192.168.45.129 --scan 1-65535 -S

由抓包可得:

hping3 -c 100  -S  --spoof 192.168.45.200 -p ++1 192.168.45.129

参数-c表示发送数据包的数量

参数-S表示发送SYN数据包

--spoof:伪造源地址,后面接伪造的地址,

参数-p表示扫描的端口,++1表示每次端口号加1,那么就是发送SYN从端口1到端口100

最后面跟的是目标IP

通过抓包可以得知地址已伪造,但对于linux系统(192.168.45.129)来说,它收到了192.168.45.200的SYN数据包,那么就会给192.168.45.200回复SYN+ACK数据包,但该地址却是kali伪造的地址,那么要查看目标系统哪些端口开放,必须登陆地址为kali伪造的地址即(192.168.45.200)进行抓包

hping3和nmap扫描端口的区别:1,hping3结果清晰明了

  2,nmap首先对IP进行DNS反向解析,如果没成功,那么便会对其端口发送数据包,默认发送SYN数据包

hping3直接向目标系统的端口发送SYN数据包,并不进行DNS反向解析

全连接端口扫描:如果单独发送SYN数据包被被过滤,那么就使用全连接端口扫描,与目标建立三次握手连接,结果是最准确的,但容易被入侵检测系统发现

response=sr1(IP(dst="192.168.45.129")/TCP(dport=80,flags="S"))

reply=sr1(IP(dst="192.168.45.129")/TCP(dport=80,flags="A",ack=(response[TCP].seq+1)))

抓包情况:首先kali向Linux发送SYN,Linux回复SYN+ACK给kali,但kali的系统内核不清楚kali曾给linux发送给SYN数据包,那么kali内核莫名其妙收到SYN+ACK包,那么便会返回RST请求断开数据包给Linux,三次握手中断,如今kali再给Linux发ACK确认数据包,Linux莫名其妙收到了ACK数据包,当然也会返回RST请求断开数据包,具体抓包如下:

那么只要kali内核在收到SYN+ACK数据包之后,不发RST数据包,那么就可以建立完整的TCP三次握手,判断目标主机端口是否开放

因为iptables存在于Linux内核中,通过iptables禁用内核发送RST数据包,那么就可以实现

使用nmap进行全连接端口扫描:(如果不指定端口,那么nmap默认会扫描1000个常用的端口,并不是1-1000号端口)

使用dmitry进行全连接端口扫描:

dmitry:功能简单,但功能简便

默认扫描150个最常用的端口

dmitry -p 192.168.45.129  #参数-p表示执行TCP端口扫描

dmitry -p 192.168.45.129 -o output  #参数-o表示把结果保存到一个文本文档中去

使用nc进行全连接端口扫描:

nc -nv -w 1 -z 192.168.45.129 1-100:      1-100表示扫描1-100号端口

参数-n表示不对Ip地址进行域名解析,只把其当IP来处理

参数-v表示显示详细信息

参数-w表示超时时间

-z表示打开用于扫描的模式

向一个无法连接的 *** 尝试了一个套接字操作。192.168.3.1:2002,解决方向是什么?

正确的端口号,可以在域名后面输入“端口号”就可以访问了。

例如:端口号,只用在后边加上“/:204××”就可以了。

TCP与UDP段结构中端口地址都是16比特,可以有在0-65535范围内的端口号。任何TCP/IP实现所提供的服务都用1-1023之间的端口号,是由ICANN来管理的。端口号从1024-49151是被注册的端口号,被IANA指定为特殊服务使用。从49152-65535是动态或私有端口号。

扩展资料:

各个端口及端口号的实际用途

1、1系端口

POP3服务器开放102端口,用于接收邮件,客户端访问服务器端的邮件服务;NEWS新闻组传输协议,承载USENET通信。这个端口的连接通常是人们在寻找USENET服务器;137、138是UDP端口,当通过网上邻居传输文件时用这个端口。

2、2系端口

FTP服务器开放的21端口,用于上传、下载。最常见的攻击者用于寻找打开anonymous的FTP服务器的 *** 。这些服务器带有可读写的目录;PcAnywhere建立的TCP和22端口的连接可能是为了寻找ssh;扫描23端口是为了找到机器运行的操作系统。

*** 安全漏洞扫描器的应用

*** 安全扫描器简介

迅速发展的Internet给人们的生活、工作带来了巨大的方便,但同时,也带来了一些不容忽视的问题, *** 信息的安全保密问题就是其中之一。

*** 的开放性以及黑客的攻击是造成 *** 不安全的主要原因。科学家在设计Internet之初就缺乏对安全性的总体构想和设计,我们所用的TCP/IP 协议是建立在可信的环境之下,首先考虑的是 *** 互连,它是缺乏对安全方面的考虑的。而且TCP/IP协议是完全公开的,远程访问使许多攻击者无须到现场就能够得手,连接的主机基于互相信任的原则等等这一些性质使 *** 更加不安全。

先进的技术是实现 *** 信息安全的有力武器,这些技术包括:密码技术、身份验证技术、访问控制技术、安全内核技术、 *** 反病毒技术、信息泄漏防治技术、防火墙技术、 *** 安全漏洞扫描技术、入侵检测技术等。而在系统发生安全事故之前对其进行预防性检查,及时发现问题并予以解决不失为一种很好的办法,于是 *** 安全漏洞扫描技术应运而生。

1. 扫描器基本工作原理

扫描器是一种自动检测远程或本地主机安全脆弱点的程序,通过使用扫描器可以不留痕迹的发现远程服务器的各种TCP端口的分配及提供的服务和它们的软件版本,这就能让我们间接的或直观的了解到远程主机所存在的安全问题。

扫描器采用模拟攻击的形式对目标可能存在的已知安全漏洞进行逐项检查。目标可以是工作站、服务器、交换机、数据库应用等各种对象。然后根据扫描结果向系统管理员提供周密可靠的安全性分析报告,为提高 *** 安全整体水平产生重要依据。在 *** 安全体系的建设中,安全扫描工具花费低、效果好、见效快、与 *** 的运行相对对立、安装运行简单,可以大规模减少安全管理员的手工劳动,有利于保持全网安全政策的统一和稳定。

扫描器并不是一个直接的攻击 *** 漏洞的程序,它仅仅能帮助我们发现目标机的某些存在的弱点。一个好的扫描器能对它得到的数据进行分析,帮助我们查找目标主机的漏洞。但它不会提供进入一个系统的详细步骤。

扫描器应该有三项功能:发现一个主机和 *** 的能力;一旦发现一台主机,有发现什么服务正运行在这台主机上的能力;通过测试这些服务,发现这些漏洞的能力。

扫描器对Internet安全很重要,因为它能揭示一个 *** 的脆弱点。在任何一个现有的平台上都有几百个熟知的安全脆弱点。在大多数情况下,这些脆弱点都是唯一的,仅影响一个 *** 服务。人工测试单台主机的脆弱点是一项极其繁琐的工作,而扫描程序能轻易的解决这些问题。扫描程序开发者利用可得到的常用攻击 *** 并把它们集成到整个扫描中,这样使用者就可以通过分析输出的结果发现系统的漏洞。

2.端口扫描介绍

真正的扫描器是TCP端口扫描器,这种程序可以选通TCP/IP端口和服务(比如,Telnet或FTP),并记录目标的回答。通过这种 *** ,可以搜集到关于目标主机的有用信息(比如,一个匿旬用户是否可以登录等等)。而其他所谓的扫描器仅仅是UNIX *** 应用程序,这些程序一般用于观察某一服务是否正在一台远程机器上正常工作,它们不是真正的扫描器,但也可以用于收集目标主机的信息(UNIX平台上通用的rusers和host命令就是这类程序的很好的例子)。

2.1 TCP SYN 扫描

扫描程序发送的SYN数据包,好像准备打开一个新的连接并等待反映一样。一个SYN|ACK的返回信息表示端口处于侦听状态。一个RST 返回表示端口没有处于侦听状态。如果收到一个SYN|ACK,扫描程序必须再发送一个RST 信号,来关闭这个连接过程。

优点:不会在目标计算机上留下纪录。

缺点:扫描程序必须要有root权限才能建立自己的SYN数据包。

2.2 TCP FIN 扫描

关闭的端口会用适当的RST来回复FIN数据包,而打开的端口会忽略对FIN数据包的回复。

优点:FIN数据包可以不惹任何麻烦的通过。

缺点:这种 *** 和系统的实现有一定的关系,有些系统不论是打开的或关闭的端口对FIN数据包都要给以回复,这种情况下该 *** 就不实用了。

2.3 TCP connect()扫描

操作系统提供connect()系统调用,用来与每一个感兴趣的目标计算机的端口进行连接。如果端口处于侦听状态,那么connect()就能成功。否则,这个端口是不能用的,即没有提供服务。

优点:系统中的任何用户都有权利使用这个调用;如果对每个目标端口以线性的方式扫描,将会花费相当长的时间,但如果同时打开多个套接字,就能加速扫描。

缺点:很容易被发现,目标计算机的logs文件会显示一连串连接和连接出错的消息,并且能很快的将它关闭。

3.扫描程序介绍

目前存在的扫描器产品主要可分为基于主机的和基于 *** 的两种,前者主要关注软件所在主机上面的风险漏洞,而后者则是通过 *** 远程探测其它主机的安全风险漏洞。

国外,基于主机的产品主要有:AXENT公司的E *** ,ISS公司的System Scanner等,基于 *** 的产品包括ISS公司的Internet Scanner、AXENT公司的NetRecon、NAI公司的CyberCops Scanner、Cisco的NetSonar等。目前国内有中科院网威工作室开发的NetPower产品出现,另外北方计算机公司(***)也有类似产品。 下面介绍一些可以在Internet上免费获得的扫描程序。

3.1 NSS( *** 安全扫描器)

(1) NSS由Perl语言编成,它最根本的价值在于速度,它运行速度非常快,可以执行下列常规检查:

■Sendmail

■匿名FTP

■NFS出口

■TFTP

■Hosts.equiv

■Xhost

注:除非你拥有更高特权,否则NSS不允许你执行Hosts.equiv。

(2) 利用NSS,用户可以增加更强大的功能,其中包括:

■AppleTalk扫描

■Novell扫描

■LAN管理员扫描

■可扫描子网

(3) NSS执行的进程包括:

■取得指定域的列表或报告,该域原本不存在这类列表

■用Ping命令确定指定主机是否是活性的

■扫描目标主机的端口

■报告指定地址的漏洞

(4) 提示

在对NSS进行解压缩后,不能立即运行NSS,需要对它进行一些修改,必须设置一些环境变量,以适应你的机器配置。主要变量包括:

$TmpDir_NSS使用的临时目录

$YPX-ypx应用程序的目录

$PING_可执行的ping命令的目录

$XWININFO_xwininfo的目录

如果你隐藏了Perl include目录(目录中有Perl include文件),并且在PATH环境变量中没有包含该目录,需要加上这个目录;同时,用户应该注意NSS需要ftplib.pl库函数。NSS具有并行能力,可以在许多工作站之间进行分布式扫描。而且,它可以使进程分支。在资源有限的机器上运行NSS(或未经允许运行NSS)应该避免这种情况,在代码中有这方面的选项设置。

3.2 Strobe(超级优化TCP端口检测程序)

strobe是一个TCP端口扫描器,它可以记录指定机器的所有开放端口。strobe运行速度快(其作者声称在适中的时间内,便可扫描整个一个国家的机器)。

strobe的主要特点是,它能快速识别指定机器上正在运行什么服务。strobe的主要不足是这类信息是很有限的,一次strobe攻击充其量可以提供给"入侵者"一个粗略的指南,告诉什么服务可以被攻击。但是,strobe用扩展的行命令选项弥补了这个不足。比如,在用大量指定端口扫描主机时,你可以禁止所有重复的端口描述(仅打印首次端口定义)。其他选项包括:

■定义起始和终止端口

■定义在多长时间内接收不到端口或主机响应,便终止这次扫描。

■定义使用的socket号码

■定义strobe要捕捉的目标主机的文件

在获得strobe的同时,必然获得手册页面,这对于Solaris 2.3是一个明显的问题,为了防止发生问题,必须禁止使用getpeername()。在行命令中加入-g 标志就可以实现这一目的。同时,尽管strobe没有对远程主机进行广泛测试,但它留下的痕迹与早期的ISS一样明显,被strobe扫描过的主机会知道这一切(这非常象在/var/adm/messages文件中执行连接请求)。

3.3 SATAN(安全管理员的 *** 分析工具)

SATAN是为UNIX设计的,它主要是用C和Perl语言编写的(为了用户界面的友好性,还用了一些HTML技术)。它能在许多类UNIX平台上运行,有些根本不需要移植,而在其他平台上也只是略作移植。

在Linux上运行SATAN有一个特殊问题,应用于原系统的某些规则在Linus平台上会引起系统失效的致命缺陷;在tcp-scan模块中实现 select()调用也会产生问题;最后要说的是,如果用户扫描一个完整子网,则会引进反向fping爆炸,也即套接字(socket)缓冲溢出。但是,有一个站点不但包含了用于Linux的、改进的SATAN二进制代码,还包含了diff文件。SATAN用于扫描远程主机的许多已知的漏洞,其中包括但并不限于下列这些漏洞:

■FTPD脆弱性和可写的FTP目录

■NFS脆弱性

■NIS脆弱性

■RSH脆弱性

■Sendmail

■X服务器脆弱性

SATAN的安装和其他应用程序一样,每个平台上的SATAN目录可能略有不同,但一般都是/satan-1.1.1。安装的之一步(在阅读了使用文档说明后)是运行Perl程序reconfig。这个程序搜索各种不同的组成成分,并定义目录路径。如果它不能找到或定义一个浏览器。则运行失败,那些把浏览器安装在非标准目录中(并且没有在PATH中进行设置)的用户将不得不手工进行设置。同样,那些没有用DNS(未在自己机器上运行DNS)的用户也必须在/satan-1.1.1/conf/satan.cf中进行下列设置:$dont_use_nslookuo=1;在解决了全部路径问题后,用户可以在分布式系统上运行安装程序(IRIX或SunOS),我建议要非常仔细地观察编译,以找出错误。

SATAN比一般扫描器需要更多一些的资源,尤其是在内存和处理器功能方面要求更高一些。如果你在运行SATAN时速度很慢,可以尝试几种解决办法。最直接的办法就是扩大内存和提高处理器能力,但是,如果这种办法不行,我建议用下面两种 *** :一是尽可能地删除其他进程;二是把你一次扫描主机的数量限制在100台以下。最后说明的一点是,对于没有强大的视频支持或内存资源有限的主机,SATAN有一个行命令接口,这一点很重要。

3.4 Jakal

Jakal是一个秘密扫描器,也就是就,它可以扫描一个区域(在防火墙后面),而不留下任何痕迹。

秘密扫描器工作时会产生"半扫描"(half scans),它启动(但从不完成)与目标主机的SYN/ACK过程。从根本上讲,秘密扫描器绕过了防火墙,并且避开了端口扫描探测器,识别出在防火墙后面运行的是什么服务。(这里包括了像Courtney和GAbriel这样的精制扫描探测器)。

3.5 IdentTCPscan

IdentTCPscan是一个更加专业化的扫描器,其中加入了识别指定TCP端口进程的所有者的功能,也就是说,它能测定该进程的UID。

3.6 CONNECT

CONNECT是一个bin/sh程序,它的用途是扫描TFTP服务子网。

3.7 FSPScan

FSPScan用于扫描FSP服务顺。FSP代表文件服务协议,是非常类似于FTP的Internet协议。它提供匿名文件传输,并且据说具有 *** 过载保护功能(比如,FSP从来不分叉)。FSP最知名的安全特性可能就是它记录所有到来用户的主机名,这被认为优于FTP,因为FTP仅要求用户的E- mail地址(而实际上根本没有进行记录)。FSP相当流行,现在为Windows 和OS/2开发了GUI客户程序。

3.8 XSCAN

XSCAN扫描具有X服务器弱点的子网(或主机)。乍一看,这似乎并不太重要,毕竟其他多数扫描器都能做同样的工作。然而,XSCAN包括了一个增加的功能:如果它找到了一个脆弱的目标,它会立即加入记录。

XSCAN的其他优点还包括:可以一次扫描多台主机。这些主机可以在行命令中作为变量键入(并且你可以通过混合匹配同时指定主机和子网)。

4. 结束语

随着Internet的应用日渐普及, *** 攻击的种类和方式也愈来愈多,扫描程序不太可能集成所有的远程攻击。每发现一个新的漏洞,扫描程序就应该加入检查这个新漏洞的能力,这是一个永不停止的过程。因此扫描器最多提供一个快速观察TCP/IP安全性的工具,通过系统管理员的正确使用,能够避免一些入侵者的恶意攻击,但并不能保证 *** 的安全。

端口扫描原理及工具 - 安全工具篇

"端口"是英文port的意译,可以认为是设备与外界通讯交流的出口。端口可分为虚拟端口和物理端口,其中虚拟端口指计算机内部端口,不可见。例如计算机中的80端口、21端口、23端口等。

一台拥有IP地址的主机可以提供许多服务,比如Web服务、FTP服务、 *** TP服务等,这些服务完全可以通过1个IP地址来实现。那么,主机是怎样区分不同的 *** 服务呢?显然不能只靠IP地址,因为IP 地址与 *** 服务的关系是一对多的关系。实际上是通过“IP地址+端口号”来区分不同的服务的。

因此,一个开放的端口代表一个提供的服务,不同的服务具有不同的端口号, 因此要对服务进行测试,首先要确定是否开放对应端口号 。

TCP端口和UDP端口。由于TCP和UDP 两个协议是独立的,因此各自的端口号也相互独立,比如TCP有235端口,UDP也 可以有235端口,两者并不冲突。

1、周知端口

周知端口是众所周知的端口号,范围从0到1023,其中80端口分配给WWW服务,21端口分配给FTP服务等。我们在IE的地址栏里输入一个网址的时候是不必指定端口号的,因为在默认情况下WWW服务的端口是“80”。

2、动态端口

动态端口的范围是从49152到65535。之所以称为动态端口,是因为它 一般不固定分配某种服务,而是动态分配。

3、注册端口

端口1024到49151,分配给用户进程或应用程序。这些进程主要是用户安装的程序。

1、使用Nmap工具查找ip的tcp端口

-O :获取操作系统版本信息

2、使用Nmap工具查找udp端口

-sU :表示udp scan , udp端口扫描

-Pn :不对目标进行ping探测(不判断主机是否在线)(直接扫描端口)

对于udp端口扫描比较慢,扫描完6万多个端口需要20分钟左右

3、使用Nmap工具获取端口Banner

只会返回有Banner信息的,没有则不会返回。

4、使用Nmap嗅探服务版本信息

如果没有返回banner信息的,也可以使用该 *** 尝试嗅探服务版本信息。

5、利用nmap对目标进行完整测试

在针对内容测试时,有授权的情况下,可以利用nmap对目标进行完整测试

如何在Linux上使用Nmap安全扫描工具

nmap(Network Mapper)是一款开放源代码的 *** 探测和安全审核工具。它用于快速扫描一个 *** 和一台主机开放的端口,还能使用TCP/IP协议栈特征探测远程主机的操作系统类型。nmap支持很多扫描技术,例如:UDP、TCP connect()、TCP SYN(半开扫描)、ftp *** (bounce攻击)、反向标志、ICMP、FIN、ACK扫描、圣诞树(Xmas Tree)、SYN扫描和null扫描。Nmap最初是用于unix系统的命令行应用程序。在2000年的时候,这个应用程序有了windows版本,可以直接安装使用。

Nmap命令的格式为:

Nmap [ 扫描类型 ... ] [ 通用选项 ] { 扫描目标说明 }

下面对Nmap命令的参数按分类进行说明:

1. 扫描类型

-sT TCP connect()扫描,这是最基本的TCP扫描方式。这种扫描很容易被检测到,在目标主机的日志中会记录大批的连接请求以及错误信息。

-sS TCP同步扫描(TCP SYN),因为不必全部打开一个TCP连接,所以这项技术通常称为半开扫描(half-open)。这项技术更大的好处是,很少有系统能够把这记入系统日志。不过,你需要root权限来定制SYN数据包。

-sF,-sX,-sN 秘密FIN数据包扫描、圣诞树(Xmas Tree)、空(Null)扫描模式。这些扫描方式的理论依据是:关闭的端口需要对你的探测包回应RST包,而打开的端口必需忽略有问题的包(参考RFC 793第64页)。

-sP ping扫描,用ping方式检查 *** 上哪些主机正在运行。当主机阻塞ICMP echo请求包是ping扫描是无效的。nmap在任何情况下都会进行ping扫描,只有目标主机处于运行状态,才会进行后续的扫描。

-sU 如果你想知道在某台主机上提供哪些UDP(用户数据报协议,RFC768)服务,可以使用此选项。

-sA ACK扫描,这项高级的扫描 *** 通常可以用来穿过防火墙。

-sW 滑动窗口扫描,非常类似于ACK的扫描。

-sR RPC扫描,和其它不同的端口扫描 *** 结合使用。

-b FTP反弹攻击(bounce attack),连接到防火墙后面的一台FTP服务器做 *** ,接着进行端口扫描。

2. 通用选项

-P0 在扫描之前,不ping主机。

-PT 扫描之前,使用TCP ping确定哪些主机正在运行。

-PS 对于root用户,这个选项让nmap使用SYN包而不是ACK包来对目标主机进行扫描。

-PI 设置这个选项,让nmap使用真正的ping(ICMP echo请求)来扫描目标主机是否正在运行。

-PB 这是默认的ping扫描选项。它使用ACK(-PT)和ICMP(-PI)两种扫描类型并行扫描。如果防火墙能够过滤其中一种包,使用这种 *** ,你就能够穿过防火墙。

-O 这个选项激活对TCP/IP指纹特征(fingerprinting)的扫描,获得远程主机的标志,也就是操作系统类型。

-I 打开nmap的反向标志扫描功能。

-f 使用碎片IP数据包发送SYN、FIN、XMAS、NULL。包增加包过滤、入侵检测系统的难度,使其无法知道你的企图。

-v 冗余模式。强烈推荐使用这个选项,它会给出扫描过程中的详细信息。

-S IP 在一些情况下,nmap可能无法确定你的源地址(nmap会告诉你)。在这种情况使用这个选项给出你的IP地址。

-g port 设置扫描的源端口。一些天真的防火墙和包过滤器的规则集允许源端口为DNS(53)或者FTP-DATA(20)的包通过和实现连接。显然,如果攻击者把源端口修改为20或者53,就可以摧毁防火墙的防护。

-oN 把扫描结果重定向到一个可读的文件logfilename中。

-oS 扫描结果输出到标准输出。

--host_timeout 设置扫描一台主机的时间,以毫秒为单位。默认的情况下,没有超时限制。

--max_rtt_timeout 设置对每次探测的等待时间,以毫秒为单位。如果超过这个时间限制就重传或者超时。默认值是大约9000毫秒。

--min_rtt_timeout 设置nmap对每次探测至少等待你指定的时间,以毫秒为单位。

-M count 置进行TCP connect()扫描时,最多使用多少个套接字进行并行的扫描。

3. 扫描目标

目标地址 可以为IP地址,CIRD地址等。如192.168.1.2,222.247.54.5/24

-iL filename 从filename文件中读取扫描的目标。

-iR 让nmap自己随机挑选主机进行扫描。

-p 端口 这个选项让你选择要进行扫描的端口号的范围。如:-p 20-30,139,60000。

-exclude 排除指定主机。

-excludefile 排除指定文件中的主机。

举例:

nmap -v nmap -sS -O 192.168.1.23/24

nmap -sX -p 22,53,110,143,4564 128.210.*.1-127

nmap -v --randomize_hosts -p 80 *.*.2.3-5

0条大神的评论

发表评论