分享Linux下十条nmap实用命令行技巧

    1) 获取远程主机的系统类型及开放端口

  nmap -sS -P0 -sV -O 

  这里的 < target > 可以是单一 IP, 或主机名,或域名,或子网

  -sS TCP SYN 扫描 (又称半开放,或隐身扫描)

  -P0 允许你关闭 ICMP pings.

  -sV 打开系统版本检测

  -O 尝试识别远程操作系统

  其它选项:

  -A 同时打开操作系统指纹和版本检测

  -v 详细输出扫描情况.

  nmap -sS -P0 -A -v < target >

  2) 列出开放了指定端口的主机列表

  nmap -sT -p 80 -oG �C 192.168.1.* | grep open

  3) 在网络寻找所有在线主机

  nmap -sP 192.168.0.*

  或者也可用以下命令:

  nmap -sP 192.168.0.0/24

  指定 subnet

  4) Ping 指定范围内的 IP 地址

  nmap -sP 192.168.1.100-254

  5) 在某段子网上查找未占用的 IP

  nmap -T4 -sP 192.168.2.0/24 && egrep "00:00:00:00:00:00" /proc/net/arp

  6) 在局域网上扫找 Conficker 蠕虫病毒

  nmap -PN -T4 -p139,445 -n -v --script=smb-check-vulns --script-args safe=1 192.168.0.1-254

  7) 扫描网络上的恶意接入点 (rogue APs).

  nmap -A -p1-85,113,443,8080-8100 -T4 --min-hostgroup 50 --max-rtt-timeout 2000 --initial-rtt-timeout 300 --max-retries 3 --host-timeout 20m --max-scan-delay 1000 -oA wapscan 10.0.0.0/8

  8 ) 使用诱饵扫描方法来扫描主机端口

  sudo nmap -sS 192.168.0.10 -D 192.168.0.2

  9) 为一个子网列出反向 DNS 记录

  nmap -R -sL 209.85.229.99/27 | awk '{if($3=="not")print"("$2") no PTR";else print$3" is "$2}' | grep '('

  10) 显示网络上共有多少台 Linux 及 Win 设备?

  sudo nmap -F -O 192.168.0.1-255 | grep "Running: " > /tmp/os; echo "$(cat /tmp/os | grep Linux | wc -l) Linux device(s)"; echo "$(cat /tmp/os | grep Windows | wc -l) Window(s) device"

 

nmap命令使用详细解释

-P0 -PT -PS -PU -PE -PP -PM -PB 当nmap进行某种类型的端口或协议扫描时,通常都会尝试先ping 主机,这种尝试可使nmap不会浪费时间在那些未开机的主机上,但是许多主机与防火墙会阻塞ICMP报文,我们希望能通过控制使用。

-P0  告诉nmap不ping 主机,只进行扫描

-PT  告诉nmap使用TCP的ping

-PS  发送SYN报文。

-PU  发送一个udp ping

-PE  强制执行直接的ICMP ping 

-PB  这是默认类型,可以使用ICMP ping 也可以使用TCP ping .

-6   该标志允许IPv6支持

-v  -d  使用-v选项可得到更详细的输出,而-d选项则增加调试输出。

-oN  按照人们阅读的格式记录屏幕上的输出,如果是在扫描多台机器,则该选项很有用。

-oX  以xml格式向指定的文件记录信息

-oG  以一种易于检索的格式记录信息,即每台主机都以单独的行来记录所有的端口和0s信息。

-oA  使用 为基本文件名,以普通格式(-oN)、XML格式(-oX)和易于检索的格式(-oG)jilu  xinxi  

-oM  把输出格式化为机器可阅读的文件

-oS  把输出进行傻瓜型排版

--resume 如果你取消了扫描,但生成了供人或者供机器阅读的文件,那么可以把该文件提供给nmap继续让它扫描。

-iR -iL 可以不在命令行中指定目标主机,而是使用-iR选项随即产生待扫描的主机,或者使用-iL选项从一个包含主机名或IP地址列表的文件中读取目标主机,这些主机名或IP地址使用空格、制表符或换行隔开。

-F nmap只扫描在nmap内建的服务文件中已知的端口,如果不指定该选项,nmap将扫描端口1-1024及包含在nmap-services文件中的所有其他端口。如果用-sO选项扫描协议,nmap将用它内建的协议文件(nmap-protocols文件)而不是默认地扫描所有256个协议。

-A nmap使用所有的高级扫描选项

-p 参数可以是一个单独的端口、一个用逗号隔开的端口列表、一个使用“-”表示的端口范围或者上述格式的任意组合。如果没有指定该选项,nmap将对包含前1024个端口的所有端口进行一次快速扫描。

-e 在多穴主机中,可以指定你用来进行网络通信的网络接口。

-g 可以选择一个源端口,从该端口执行所有的扫描。

--ttl nmap 其发送的任何报文在到中间路由器的 跳后会失效。

--packet-trace 可以显示扫描期间nmap发送和接收的各个报文的详细列表,这对调试非常有用。要与-o选项之一联合使用,需要根权限,以将所有的数据记录到文件。

--scanflags 可以使用这个选项手工的指定欲在扫描报文中设置的TCP标志。也可以指定TCP标志的OOred值的整数形式,或者标志的字符串表示形式。

 

你可能感兴趣的:(linux,nmap)