nmap用法

 

今天想发现某个主机运行的端口,但是无论怎么用nmap扫描结果都是All 1000 scanned ports on ****** are filtered

感觉应该是防火墙直接把包给过滤掉了,看不到结果。。

 

-----------------------------------nmap 的主机发现--------------------------------------------------------------------

------------------------------------------------------------------主机发现的原理-----------------------------------------------------------------------

主机发现的原理与Ping命令类似,发送探测包到目标主机,如果收到回复,那么说明目标主机是开启的。Nmap支持十多种的主机探测方式,

各报文格式如右

比如发送ICMP ECHO/TIMESTAMP/NETMASK报文,发送TCPSYN/ACK包,发送 TSCTPINIT/COOKIE-ECHO包。

timestamp-reply报文

时间戳请求报文(TYPE=13)和时间戳应答报文(TYPE=14)用于测试两台主机之间数据报来回一次的传输时间。传输时,主机填充原始时间戳,

接收方收到请求后一Type=14的报文格式返回,发送方计算这个时间差。一些系统不响应这种报文

NETMASK地址掩码请求报文

假定请求的主机知道自己的Internet地址,然后向目的地址255.255.255.255广播地址掩码请求报文,这时地址掩码域中全部为“0”,

知道正确掩码的路由器就会返回一个地址掩码应答报文,该应答报文中就包含了请求主机所需的地址掩码。地址掩码应答是一对查询报文,用于获得一个主机所在网络的子网掩码。

默认情况下,Nmap会发送四种不同类型的数据包来探测目标主机是否在线

1. ICMP echo request

2. a TCP ACK packet to port 80

3.a TCP SYN packet to port 443

4 an ICMP timestamp request

----------------------------------------------------------------主机扫描的用法--------------------------------------------------------

 -sL列表扫描,仅将指定的目标的IP列举出来,不进行主机发现

 -sn:ping scan:只进行主机发现,不进行端口扫描

-Pn:将所有指定的主机视作开启的,跳过主机发现的过程

-PS/pA/pU/PY:使用TCP/SYN/ACK或UDP/SCTP INIT/ECHO方式发现

—PE/PP/PM:使用ICMP echo,timestamp,and netmask请求包发现主机

-PO【protocolist】:使用IP协议包探测对方主机是否开启

探测对方主机是否开启

-n/-R -n:表示不进行DNS解析,-R表示总是进行DNS解析

 

eg:

nmap -sn -PE -PS80,135 -PU 53 scanme.nmap.org

局域网扫描

nmap -sn 192.168.0.1-200   nmap -iL  target.txt   nmap a b c namp xxx.a-b

通过ARP回复的报文来确定是否在线

----------------------------------------------nmap端口扫描----------------------------------------

端口的6个状态

open :端口是开放的

closed:端口是关闭的

filtered:端口被防火墙屏蔽,无法确定状态

unfiltered:端口没有被屏蔽,但无法确定状态

-------------------------------------------------------------------端口扫描方式和原理------------------------------------------------------------------------------------

1 TCP SYN scanning

这是nmap默认的扫描方式,通常被称作半开放扫描

该放手发送SYN到目标端口,如果收到SYN/ACK回复,那么端口是开放的,如果收到RST,说明端口是关闭的,如果没有收到

回复,那么判断端口被屏蔽

 

2.tcp connectscanning

是使用系统网络API connect向目标主机的端口发起连接,如果无法连接,说明端口关闭,是标准

的三次握手,会在日志中留下信息。

 整个流程图如下

 

3.TCP ACK scanning

向目标主机的端口发送ACK包,根据是否收到RST包判断防火墙的情况,可以辅助

TCP SYN的方式来判断目标主机防火墙的情况。注意到,由于发送的是ACK包,因此无法

获得端口的情况。

4 TCP  秘密扫描

发送TCP FIN包或Smas tree包/Null包。

5.UDP扫描

因为tcp与UDP本身的区别

udp探测端口关闭是目标主机回复icmp port unreachable

但如果没收到回复也不能判断是否被屏蔽

因为本来udp就不回复ack确认

6.-sW window扫描

当然也可以利用Window扫描方式,得出一些端口信息,可以与之前分析的结果相互补充

注(Window扫描方式只对某些TCP/I协议栈才有效)window扫描原理与ACK类似,发送ACK包探测目标端口

对回复的RST包中的window saize进行解析。在某些TCP/IP协议栈实现中,关闭的端口在RST中会将Window size

设置为0 .由此可见该种扫描方式在包被drop后是无法进行的。

7.-sM(TCP Maimon扫描)

这种扫描方式探测报文时FIN/ACK.无论端口开放或关闭,都应该对这样的探测相应RST报文,

但是,许多基于BSD的系统只是丢弃该探测报文

8  --scanflags 可以设URG,ACK,PSH,RST,SYN,FIN

9.-sI zombie ip)( target ip)

真实步骤:i>:探查zombie的IPID并记录下来

              ii>:在zombie主机上位置一个包,然后把包发送给目标主机的端口,根据端口的状态,目标主机有可能会也有可能不会导致zombie 主机的IPID值增加。

              iii>:再次探查zombie主机的IPID,比较两次的IPID值

 个人理解:每发送一次数据包ip id+1,每次扫描后,僵尸主机数据包的IP ID应该增加 1或 2,增加1说明僵尸主机没有发送任何数据包,仅仅由于攻击者向目标探测所伪造的那个数据包而导致了加1,可能因为被屏蔽,也可能是因为端口关闭

而如果增加2说明僵尸主机在两次主机探测之间发送了一个额外的数据包,这表明了目标主机是开放的。

10-oA  以...形式输出

11  -sC  根据端口的服务,采用默认的NSE脚本

-----------------------------------------NMAP的信息搜集-------------------------------------------

1. -O:识别操作系统

2.--iflist:列举接口或路由

3.-sV 识别web组件的相关信息

--------------------------------------NMAP防火墙逃逸技术------------------------------------------

 

-source-port改变发送包的端口

-min-rate 175 -max-rate 300控制包的发送速度

-randomize-hosts打乱顺序(如果你伪造的ip被排序了的话)

-f把IP头分片

-D源IP欺骗

--max_parallelism n 设置并行报文数量,一般设置为1,以防止nmap在同一时间内向探测主机发送多个探测报文

-g 设置源端口(53好端口一般不会无理由的拒绝)

--spoof-mac  进行mac地址欺骗

--data-length 向报文段内添加随机数据

-T设置扫描速度

 定制包nmap -scanflags URGACKPSHRSTSYNFIN targetip

-scan-delay +ms调整探测包之间的发送延迟

--mtu设置最大传输单元

--------------------------------------NMAP脚本--script--------------------------------

dns-brute DNS暴力破解

ftp-brute -p 21 ftp暴力破解

whoif-domain(能显示ip,地点和位置)

hostmap-ip2hosts:代表你的ip有那些域名在用

mysql-databases --script-args mysqluser=root,mysqlpass ip猜解表名

smb-brute samba服务暴力破解

mysql-brutemysql口令爆破

 --script-updatedb

 

posted @ 2015-06-19 23:48  平何去何  阅读(1578)  评论(0)    收藏  举报