Nmap

Nmap


    -P只扫描指定的端口,-F快速 (有限的端口) 扫描,既扫描 UDP又扫描TCP,您必须指定-sU,以及至少一个TCP扫描类型(如-sS,-sF,或者-sT)

1) Ping扫描

# nmap -sP 192.168.0.1/24

2) 默认的TCP连接扫描

# nmap -sT可能会留下扫描日志,扫描速度很慢

3) -sU  (UDP扫描)

4) 多个目标

# nmapscanme.nmap.org 192.168.0.0/8 10.0.0,1,3-7.0-255

5) SYN和 ACK的ping探测,容易过防火墙

# nmap -PS 或nmap -PA

6) 半开放扫描

# nmap -sS不易被扫描系统发现

7) -sV (版本探测)

加-A同时打开操作系统探测和版本探测,-O  启用操作系统检测


8) -T设置时间模板0-5

         如:-T0

         6个时间模板,采用-T选项及数字(0-5)或名称。模板名称有paranoid(0)、sneaky(1)、polite(2)、 normal(3)、  aggressive(4)和insane(5)。前两种模式用于IDS躲避,Polite模式降低了扫描速度以使用更少的带宽和目标主机资源。默认模式 为Normal,即-T3  实际上是未做任何优化。Aggressive模式假设用户具有合适及可靠的网络从而加速扫描。Insane模式假设用户具有特别快的网络或者愿意为获得速度而牺牲准确性。

9) -v(提高输出信息详细度)

         通过提高详细度,Nmap可以输出扫描过程的更多信息。输出发现的打开端口,若Nmap认为扫描需要更多时间会显示估计的结束时间。-v使用两次,会提供更详细的信息,使用两次以上不起作用。

10) -A(激烈扫描模式)

         启用额外的高级和高强度选项,目的是使用一个全面的扫描选项集合,不需要用户记忆大量的选项。选项启用了操作系统检测 (-O)和版本扫描(-sV),以后会增加更多的功能。不包含用于可能所需要的时间选项(如-T4)或细节选项(-v)。

11) -iL(扫描文件里的列表IP)

   IP可空格、制表符号、换行来区分。文件为Nmap目录下或全路径表示。

12) -sF -sX -sN
         tealth FIN,Xmas Tree 或者Null扫描模式:有时甚至SYN扫描都不够隐蔽——一些防火墙及信息包过滤装置会在重要端口守护,SYN包在此时会被截获。这个主意是关闭的端口会对你发送的探测信息包返回一个RST,而打开的端口则对其忽略不理(你可以参阅RFC 973 PP64)。所以FIN扫描使用空的FIN信息包作为探针、Xmas tree使用FIN,URG,PUSH标记、Null扫描则不用任何标记。但是不幸的是微软以他们一贯的风格不理睬这一标准……所以这一扫描在 WINDOWS9X以及NT下不能工作。
         从积极方面来讲,这其实也是一个很好的区分两种平台的办法——如果这次扫描发现了打开的端口,那你就能明白这台机器不是运行WINDOWS。如果 -sF,-sX,-sN的扫描显示所有端口都是关闭的但一个SYN(-sS)扫描却显示有打开端口,那你就能大致推断它是WINDOWS平台。这只是一个简单应用,因为现在nmap已经有了更彻底的操作系统判别方法——当然它的原理类似上面所提到的.


其他

a)        -sL 看到你扫描的所有主机的列表

b)        除过某一ip外的所有主机

         #nmap 192.168.1.1/24 -exclude 192.168.1.1

c)        主机上的某些端口端口

         #nmap -p 80,23,22,189 10.50.0.98

d)  -n (不用域名解析)
        告诉Nmap永不对它发现的活动IP地址进行反向域名解析。e)  -R (为所有目标解析域名)

f)  -P0扫描前不进行主机存活性探测

g)  -sA这项扫描方法通过来穿过防火墙的规则集,但是扫描方式不能找出处于打开状态的

h)  -iR随机选择目标,选项0意味着永无休止的扫描

 i)  -excludefile排除文件中的列表主机

 j)  --scanflags(定制的TCP扫描)这是真正的Nmap高手使用的,他不受这些现成的扫描类型束缚,可以定义任意TCP标志位来设计自己的扫描

 k)  -sO(IP协议扫描)用于确定目标机器支持那些IP协议(TCP\ICMP\IGMP等)。从技术上讲,这不是端口扫描

 l)  -b(FTP弹跳扫描)

 m)-r不要按随机顺序扫描端口

 n)  -iflist选项来查看本地主机的接口信息与路由信息。当遇到无法达到目标主机或想选择从多块网卡中某一特定网卡访问目标主机时,可以查看nmap -iflist中提供的网络接口信息

  o)-e <interface>选项指定哪个网口发送数据

# nmap -e eth0 IP

 p)-D ip1,ip2,ip3,ip4,ME  Decoy(诱骗)方式来掩盖真实的扫描地址,这样就会产生多个虚假的ip同时对目标机进行探测,其中ME代表本机的真实地址,这样对方的防火墙不容易识别出是扫描者的身份。

# nmap -T4 -F -n -Pn -D192.168.1.100,192.168.1.101,192.168.1.102,ME192.168.1.1


         例:nmap -baaa@ftp.target.com -p 6000 192.168.1.226

         q)Nmap默认扫描只扫描1000个最可能开放的端口,如果想扫描全部的端口# nmap -sS -T4 -p-

         r)-osscan-guess 猜测认为最接近目标的匹配操作系统类型# nmap -O –osscan-guess 192.168.1.1

**************************************************

阻止NMAP扫描

1 #iptables -F

2 #iptables -A INPUT -p tcp –tcp-flags ALLFIN,URG,PSH -j Drop

3 #iptables -A INPUT -p tcp –tcp-flagsSYN,RST SYN,RST -j Drop

4 #iptables -A INPUT -p tcp –tcp-flagsSYN,FIN SYN,FIN -j Drop

5 #iptables -A INPUT -p tcp –tcp-flags SyNSYN –dport 80 -j Drop

有了这样的设置,nmap就扫不到你的tcp端口和操作系统的版本号了,而你的80还可以提供好的http服务

***************************************************

例子:

1. Intense scan
  nmap -T4 -A -v  -PE -PS22,25,80 -PA21,23,80,3389192.168.0.0/24
2. Intense scan plus  UDP
  nmap -sS -sU -T4 -A -v -PE -PS22,25,80-PA21,23,80,3389  192.168.0.0/24
3. Intense scan, all TCP ports
  nmap -p 1-65535  -T4 -A -v -PE -PS22,25,80-PA21,23,80,3389 192.168.0.0/24
4. Intense  scan, no ping
  nmap -T4 -A -v -PN 192.168.0.0/24
5. Ping scan
   nmap -sP -PE-PA21,23,80,3389 192.168.0.0/24
6. Quick scan
  nmap  -T4 -F 192.168.0.0/24
7. Quick scan plus
  nmap -sV -T4 -O -F  --version-light 192.168.0.0/24
8. Quick traceroute
  nmap -sP -PE  -PS22,25,80 -PA21,23,80,3389 -PU -PO--traceroute 192.168.0.0/24
9.  Regular scan
  nmap 192.168.0.0/24
10. Slow comprehensive scan
    nmap -sS -sU -T4 -A -v -PE -PP-PS21,22,23,25,80,113,31339  -PA80,113,443,10042 -PO --script all192.168.0.0/24

在 FIN扫描 时,可以利用 抓包 程序抓取发送的数据包和 接收的数据包 ,FIN扫描的结果 并不在列表控件中显示!! TCP connect() 扫描: 这是最基本的TCP扫描。操作系统提供的connect()系统调用,用来与每一个感兴趣的目标计算机的端口进行连接。如果端口处于侦听状态,那么connect()就能成功。否则,这个端口是不能用的,即没有提供服务。这个技术的一个最大的优点是,你不需要任何权限。系统中的任何用户都有权利使用这个调用。另一个好处就是速度。如果对每个目标端口以线性的方式,使用单独的connect()调用,那么将会花费相当长的时间,你可以通过同时打开多个套接字,从而加速扫描。使用非阻塞I/O允许你设置一个低的时间用尽周期,同时观察多个套接字。但这种方法的缺点是很容易被发觉,并且被过滤掉。目标计算机的logs文件会显示一连串的连接和连接是出错的服务消息,并且能很快的使它关闭。 TCP SYN扫描: 这种技术通常认为是“半开放”扫描,这是因为扫描程序不必要打开一个完全的TCP连接。扫描程序发送的是一个SYN数据包,好象准备打开一个实际的连接并等待反应一样(参考TCP的三次握手建立一个TCP连接的过程)。一个SYN|ACK的返回信息表示端口处于侦听状态。一个RST返回,表示端口没有处于侦听态。如果收到一个SYN|ACK,则扫描程序必须再发送一个RST信号,来关闭这个连接过程。这种扫描技术的优点在于一般不会在目标计算机上留下记录。但这种方法的一个缺点是,必须要有root权限才能建立自己的SYN数据包。 TCP FIN 扫描: 有的时候有可能SYN扫描都不够秘密。一些防火墙和包过滤器会对一些指定的端口进行监视,有的程序能检测到这些扫描。相反,FIN数据包可能会没有任何麻烦的通过。这种扫描方法的思想是关闭的端口会用适当的RST来回复FIN数据包。另一方面,打开的端口会忽略对FIN数据包的回复。这种方法和系统的实现有一定的关系。有的系统不管端口是否打开,都回复RST,这样,这种扫描方法就不适用了。并且这种方法在区分Unix和NT时,是十分有用的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值