nmap端口扫描原理_nmap端口扫描线程

hacker|
178

nmap扫描工具的使用二 网络探测

Nmap的6种端口状态:

            Open:开放状态

            Closed:关闭状态

            Filtered: 过滤状态(可能被过滤,可能网络阻塞)

            Unfiltered:未被过滤状态(可以访问,但未知端口处于开放还是关闭状态)

            Open|Filtered:开放还是过滤的

            Closed|Filtered:不能确定端口事关闭还是被过滤的

-T 时序选项

        -p|-F|-r  常用扫描方式

        -sS   TCP SYN扫描:(需要root权限)

        -sT  TCP连接扫描:完整三次握手,最基础最稳定的扫描方式

        -sU   UDP扫描(速度非常慢,一般用-p指定端口范围以节约时间)

        -sN/sF/sX  隐蔽扫描

        -sA   TCP ACK扫描

        -sW  TCP窗口扫描

        -sM   TCP Maimon扫描

        –scanflags  自定义TCP扫描

        -sI   空闲扫描

        -sO  IP协议扫描

        -b *  FTP Bounce扫描

时序选项:

        -T0(偏执的):非常慢的扫描,用于IDS逃避

        -T1(鬼祟的):缓慢的扫描,用于IDS逃避

        -T2(文雅的):降低速度以降低对带宽的消耗,一般不同

        -T3(普通的):默认,根据目标的反应自动调整时间

        -T4(野蛮的):快速扫描,常用,需要在很好的网络环境下进行扫描,请求可能会淹没目标

        -T5(疯狂的):极速扫描,以牺牲准确度来提升扫描速度

例子:

(1)指定端口扫描:

nmap -p 80 192.168.20.16

    如图,直接输入nmap -p 80 192.168.20.16的时候提示Host seems down。我们可以通过ping命令来确定网络的连通性,此处使用的命令是ping 192.168.20.16,发现可以ping通,即网络是通的, 使用Ctrl+z停止执行ping命令。 再使用nmap -p 80 192.168.20.16命令的时候就可以出现正确的结果了。

ping 192.168.20.16(使用Ctrl+z停止执行ping命令)

nmap -p 80-1000 192.168.20.16

(2)TCP SYN扫描:

     ping 192.168.20.16(使用Ctrl+z停止执行ping命令)

     nmap -sS 192.168.20.16

     又称为半开放(需要root权限),常见扫描方式,扫描速度较快,由于未进行TCP连接,比较隐蔽,很难背防火墙或管理员发现

(3)隐蔽扫描

     ping 192.168.20.16(使用Ctrl+z停止执行ping命令)

     nmap -sN 192.168.20.16

     -sN是Null扫描

     ping 192.168.20.16(使用Ctrl+z停止执行ping命令)

     nmap -sF 192.168.20.16

     -sF是Fin扫描(发送FIN包)

     ping 192.168.20.16(使用Ctrl+z停止执行ping命令)

     nmap -sX 192.168.20.16    

           -sX是Xmas扫描(将数据包的FIN/PSH/URG都标记为1)

(4)TCP ACK扫描

         ping 192.168.20.16(使用Ctrl+z停止执行ping命令)

         nmap -sA 192.168.20.16

致命缺点:无法确定端口是否开放还是被过滤

如何使用nmap对目标主机进行TCP SYN秘密端口扫描

SYN端口扫描用可以用nmap的-sS参数(一个小写的S和一个大写的S),-p参数指定端口号。

Linux 系统扫描nmap与tcpdump抓包

NMAP扫描

一款强大的网络探测利器工具

支持多种探测技术

--ping扫描

--多端口扫描

-- TCP/IP指纹校验

为什么需要扫描?

以获取一些公开/非公开信息为目的

--检测潜在风险

--查找可攻击目标

--收集设备/主机/系统/软件信息

--发现可利用的安全漏洞

基本用法

nmap [扫描类型] [选项] 扫描目标...

常用的扫描类型

常用选项

-sS TCP SYN扫描(半开) 该方式发送SYN到目标端口,如果收到SYN/ACK回复,那么判断端口是开放的;如果收到RST包,说明该端口是关闭的。简单理解就是3次握手只完成一半就可以判断端口是否打开,提高扫描速度

-sT TCP 连接扫描(全开)

-sU UDP扫描

-sP ICMP扫描

-sV 探测打开的端口对应的服务版本信息

-A 目标系统全面分析 (可能会比较慢)

-p 扫描指定端口

1 ) 检查目标主机是否能ping通

2)检查目标主机所开启的TCP服务

3 ) 检查192.168.4.0/24网段内哪些主机开启了FTP、SSH服务

4)检查目标主机所开启的UDP服务

5 ) 探测打开的端口对应的服务版本信息

6)全面分析目标主机192.168.4.100的操作系统信息

tcpdump

命令行抓取数据包工具

基本用法

tcpdump [选项] [过滤条件]

常见监控选项

-i,指定监控的网络接口(默认监听第一个网卡)

-A,转换为 ACSII 码,以方便阅读

-w,将数据包信息保存到指定文件

-r,从指定文件读取数据包信息

常用的过滤条件:

类型:host、net、port、portrange

方向:src、dst

协议:tcp、udp、ip、wlan、arp、……

多个条件组合:and、or、not

案例1

案例2:使用tcpdump分析FTP访问中的明文交换信息

1 ) 安装部署vsftpd服务

2 ) 并启动tcpdump等待抓包

执行tcpdump命令行,添加适当的过滤条件,只抓取访问主机192.168.4.100的21端口的数据通信 ,并转换为ASCII码格式的易读文本。

3 ) case100作为客户端访问case254服务端

4 ) 查看tcpdump抓包

5 ) 再次使用tcpdump抓包,使用-w选项可以将抓取的数据包另存为文件,方便后期慢慢分析。

6 ) tcpdump命令的-r选项,可以去读之前抓取的历史数据文件

NMAP为什么扫描不到端口

NMAP是知名的网络端口扫描工具。但很多新人发现,使用NMAP经常扫描不出来任何端口,尤其是手机之类。这实际存在一个理解上的误区。扫描端口是为了发现主机/设备上存在的对外开放的端口,以便后期利用。为了探测端口,扫描工具会向目标发送数据包,然后根据响应包来判断端口的开启情况。如果目标不进行响应,扫描工具也就无法探测端口情况。

普通个人电脑和手机在进行网络数据传输的时候,会开启端口。但这时,端口处于占用状态。一旦数据发送或者接受完成,端口就自动关闭。在这个时间段内,即使扫描工具刚好向这个端口发送数据包,也不会收到响应包。只有Web、文件共享这类服务才会长期开启端口,启用监听状态后,才会对发送到该端口的包进行响应。而普通电脑和手机很少开启这类服务,所以导致扫描不出端口的情况。

0条大神的评论

发表评论