nmap在信息收集中起着很大的作用,今天我来总结一些nmap常用的一些命令
常用探测主机存活方式
1.-sP:进行ping扫描
打印出对ping扫描做出响应的主机,不做进一步测试(如端口扫描或者操作系统探测)
下面去扫描192.168.43.0/24这个网段的的主机
nmap -sP 192.168.43.0/24
2.-sn:ping探测扫描主机,若对方丢包,依然可以检测
Ping Scan - disable port scan #ping探测扫描主机, 不进行端口扫描 (测试过对方主机把icmp包都丢弃掉,依然能检测到对方开机状态)
nmap -sn 192.168.43.0/24
3.-sA:发送tcp的ack包进行探测,可以探测主机是否存活
nmap -sA 192.168.43.0/24
端口扫描的高级用法
1.-sS:半开放扫描(非3次握手的tcp扫描)
使用频率最高的扫描选项:SYN扫描,又称为半开放扫描,它不打开一个完全的TCP连接,执行得很快,效率高
(一个完整的tcp连接需要3次握手,而-sS选项不需要3次握手)
Tcp SYN Scan (sS) 它被称为半开放扫描
优点:Nmap发送SYN包到远程主机,但是它不会产生任何会话,目标主机几乎不会把连接记入系统日志。(防止对方判断为扫描攻击),扫描速度快,效率高,在工作中使用频率最高
缺点:它需要root/administrator权限执行
nmap -sS -p- 192.168.43.131
ps:-p-是对全端口进行扫描
2.sT:3次握手方式tcp扫描
Tcp connect() scan (sT)和上面的Tcp SYN 对应,TCP connect()扫描就是默认的扫描模式.
不同于Tcp SYN扫描,Tcp connect()扫描需要完成三次握手,并且要求调用系统的connect().
优点:你勿需root权限。普通用户也可以使用。
缺点:这种扫描很容易被检测到,在目标主机的日志中会记录大批的连接请求以及错误信息,由于它要完成3次握手,效率低,速度慢,建议使用-sS
nmap -sT 192.168.43.131
它等同于nmap 192.168.43.131
3.sU:udp端口扫描
Udp scan(sU) 顾名思义,这种扫描技术用来寻找目标主机打开的UDP端口.它不需要发送任何的SYN包,因为这种技术是针对UDP端口的。UDP扫描发送UDP数据包到目标主机,并等待响应,
如果返回ICMP不可达的错误消息,说明端口是关闭的,如果得到正确的适当的回应,说明端口是开放的.udp端口扫描速度比较慢
nmap -sU 192.168.43.131
4.sF:也是tcp扫描的一种,发送一个FIN标志的数据包
FIN scan(sF)
有时候TcpSYN扫描不是最佳的扫描模式,因为有防火墙的存在.目标主机有时候可能有IDS和IPS系统的存在,防火墙会阻止掉SYN数据包。发送一个设置了FIN标志的数据包并不需要完成TCP的握手.
和sS扫描效果差不多,比sT速度快
nmap -sF 192.168.43.131
5.sV:版本检测
版本检测是用来扫描目标主机和端口上运行的软件的版本,如下扫描,多出了ssh的版本信息
nmap -sV 192.168.43.131
nmap其他用法
1.-S:可以伪装源地址进行扫描,这样好处在于不会被对方发现自己的真实IP
如果你使用-S伪装自己源地址进行扫描的话,你必须另外使用-e 指定网卡和-Pn参数才能伪装
把自己源地址伪装成10.0.1.167扫描A机器
nmap -e eth0 192.168.43.131 -S 192.168.43.221 -Pn
nmap常用参数
常用的参数(具体细节可以在上图进行对照):
- -sS 半开扫描(TCP SYN扫描),执行速度快,不容易被注意到,可以避免被记入目标系统的日志,需要root权限。它常常被称为半开放扫描, 因为它不打开一个完全的TCP连接。它发送一个SYN报文, 就像您真的要打开一个连接,然后等待响应。
- -sT 当SYN扫描不能用时,TCP Connect()扫描就是默认的TCP扫描。会在⽬标主机的⽇志中记录⼤批连接请求和错误信息,但是由于是tcp connect()扫描,容易被记录。当SYN扫描可用时,它通常是更好的选择
- -sP ping扫描,Nmap在扫描端⼜时,默认都会使⽤ping扫描,只有主机存活,Nmap才会继续扫描。
- -sU UDP扫描,但UDP扫描是不可靠的,速度也比较慢
- -sA 这种扫描与目前为止讨论的其它扫描的不同之处在于 它不能确定open(开放的)或者 open|filtered(开放或者过滤的))端口。 它用于发现防火墙规则,确定它们是有状态的还是无状态的,哪些端口是被过滤的。
- -sV 探测端⼜服务版本
- -Pn 扫描之前不需要⽤ping命令,有些防⽕墙禁⽌ping命令。可以使⽤此选项进⾏扫描
- -v 显⽰扫描过程,推荐使⽤
- -p 指定端⼜,如“1-65535、1433、135、22、80”等
- -O 启⽤远程操作系统检测,存在误报
- -O --osscan-limit 针对指定的目标进行操作系统检测
- -O --osscan-guess 当Nmap无法确定所检测的操作系统时,会尽可能地提供最相近的匹配,Nmap默认 进行这种匹配
- -A 全⾯系统检测、启⽤脚本检测、扫描等
- -oN/-oX/-oG 将报告写⼊⽂件,分别是正常、XML、grepable 三种格式
- -iL 读取主机列表,例如,-iL “C:ip.txt”
参考:https://www.cnblogs.com/nmap/p/6232969.html
https://blog.csdn.net/zz_Caleb/article/details/95335060