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