网络运维工具类:
tcpdump:网络嗅探器,抓包工具
nc/ncat:用于TCP/UDP连接和监听的工具,在CentOS7.9中nc是指向ncat的链接。
nmap:网络安全扫描工具

tcpdump :通过指定所要过滤报文的条件,捕获满足表达式的报文。没有给出任何条件,捕获主机上所有的报文。
语法:
tcpdump [-aAbdDefhHIJKlLnNOpqStuUvxX#] [ -B size ] [ -c count ]
-C file_size \] \[ -E algo:secret \] \[ -F file \] \[ -G seconds
**-i interface** \] \[ -j tstamptype \] \[ -M secret \] \[ --number
-Q\|-P in\|out\|inout
**-r file** \] \[ -s snaplen \] \[ --time-stamp-precision precision
--immediate-mode \] \[ -T type \] \[ --version \] \[ -V file
**-w file** \] \[ -W filecount \] \[ -y datalinktype \] \[ -z postrotate-command
-Z user \] \[ expression
最复杂的是expression使用;
网卡设为promisc:混杂模式,才能抓取目标不是本机的网络包;但是现在使用交换机,想抓取所有的网络包,需要做镜像端口。
参数选项解释:
-i interface:指定抓取哪个接口上的报文,没指定,默认抓取tcpdump -D 查询的第一个网卡;
-w file:抓取结果保存到指定的文件中,文件具有特定的格式;
-r file:读取使用-w抓取的文件,进行分析;
-D | --list-interfaces:查看主机全部网卡;
-c count:捕获指定数量的数据包后停止;
-n:不解析主机名,以ip形式显示主机;
-nn:不解析主机名、端口号,以ip和数字显示;
-v、-vv、-vvv :显示详细程度(-v 基础详细,-vvv 最高详细)
-s <snaplen> : 设置捕获数据包的长度(默认 65535 字节,-s 0 表示捕获完整数据包)
-X : 以十六进制和 ASCII 码形式显示数据包内容
-XX :与 -X 类似,但同时显示链路层头部信息
-A:ascii显示
-t : 不显示时间戳
-tttt: 显示完整的时间戳(年-月-日 时:分:秒.微秒)
expression :定义过滤规则,可以精准捕获目标数据包。
tcpdump的强大之处就在于其灵活的过滤规则,可基于协议、IP 地址、端口等条件筛选数据包。过滤规则使用 pcap 过滤语法,支持逻辑运算(与、或、非)。
expression由一个或多个原语 (primitive) 组成。原语通常由一个标识 (id,名称或数字)和标识前面的一个或多个修饰子(qualifier) 组成。修饰子有三种不同的类型:
type : 类型修饰子指出标识名称或标识数字代表什么类型的东西。
可以使用的类型有host,net和port。例如, `host foo', `net 128.3', `port 20'。 如果不指定类型修饰子,就使用缺省的 host。
dir: 方向修饰子指出相对于标识的传输方向(数据是传入还是传出标识)。
可以使用的方向有src,dst,src or dst 和 src and dst. 例如, `src foo', `dst net 128.3', `src or dst port ftp-data'。如果不指定方向修饰子,就使用缺省的src or dst 。对于 `null' 链路层 (就是说象slip之类的点到点协议),用 inbound和outbound修饰子指定所需的传输方向。
proto: 协议修饰子要求匹配指定的协议。可以使用的协议有:ether,fddi,ip, arp,rarp, decnet,lat,sca,moprc,mopdl,tcp和udp, 例如, `ether src foo',`arp net 128.3',`tcp port 21'。 如果不指定协议修饰子。就使用所有符合类型的协议。例如, `src foo' 指 `(ip 或 arp 或 rarp) src foo' (注意后者不符合语法), `net bar' 指 `(ip 或 arp 或 rarp) net bar', `port 53' 指 `(tcp 或 udp) port 53'。
常用过滤条件
|-------------------|--------------------------------------|
| 过滤规则 | 含义 |
| host <ip> | 捕获与指定 IP 相关的数据包(如 host 192.168.1.10) |
| src <ip> | 捕获源 IP 为指定地址的数据包(如 src 10.0.0.5)同 |
| dst <ip> | 捕获目标 IP 为指定地址的数据包(如 dst 8.8.8.8) |
| port <port> | 捕获与指定端口相关的数据包(如 port 80) |
| src port <port> | 捕获源端口为指定端口的数据包(如 src port 53) |
| dst port <port> | 捕获目标端口为指定端口的数据包(如 dst port 443) |
| tcp / udp / icmp | 捕获指定协议的数据包(如 tcp 仅捕获 TCP 包) |
| net <network> | 捕获指定网段的数据包(如 net 192.168.1.0/24) |
| | |
man手册上的说明:
dst host host:
如果报文中IP的目的地址域是host,则为真。host既可以是地址,也可以是主机名。
src host host:
如果报文中IP的源地址域是host,则为真。
host host:
如果报文中IP的源地址域或者目的地址域是host,则为真。
上面所有的host表达式都可以加上ip,arp,或rarp关键字做前缀,就象:ip host host ,
它等价于: ether proto \ip and host host 。以太网报文中内容的协议类型为ip,ip也是关键字,用\转义。如果host是拥有多个IP地址的主机名,它的每个地址都会被查验。
ether dst ehost:
如果报文的以太目的地址是ehost,则为真。ehost既可以是名字,也可以是数字。
ether src ehost:
如果报文的以太源地址是ehost,则为真。
ether host ehost:
如果报文的以太目的地址或源地址是ehost,则为真。
gateway host:
如果报文把host当做网关,则为真.即报文的以太源或目的地址是host,但是IP的源目地址都不是host。host必须是个主机名,而且必须存在于/etc/hosts和/etc/ethers中.(一个等价的表达式是
ether host ehost and not host host ;对于host/ehost,它既可以是名字,也可以是数字.)
dst net net:
如果报文的IP目的地址属于网络号net,则为真。net既可以是名字(存在/etc/networks中),也可以是网络号。
src net net:
如果报文的IP源地址属于网络号net,则为真。
net net:
如果报文的IP源地址或目的地址属于网络号net,则为真。
net net mask mask:
如果IP地址匹配指定网络掩码(netmask)的net,则为真。本原语可以用src或dst修饰。
net net/len:
如果IP地址匹配指定网络掩码的net,则为真,掩码的有效位宽为len。本原语可以用src或dst修饰。
dst port port:
如果报文是ip/tcp或ip/udp,并且目的端口是port,则为真。port是一个数字,也可以是/etc/services中说明过的名字。如果使用名字,则检查端口号和协议.如果使用数字,或者有二义的名字,则只检查端口号。
src port port:
如果报文是ip/tcp或ip/udp,并且源端口是port,则为真。
port port:
如果报文的源端口或目的端口是port,则为真。上述的任意一个端口表达式都可以用关键字tcp或udp做前缀,就象:tcp src port port ,它只匹配源端口是port的TCP报文.
less length:
如果报文的长度小于等于length,则为真。它等同于:len<=length。
greater length:
如果报文的长度大于等于length,则为真。它等同于:len>=length。
ip proto protocol:
如果报文是IP数据报,其内容的协议类型是protocol,则为真。Protocol可以是数字,也可以是下列名称中的一个:icmp,igrp,udp,nd,或tcp。注意这些标识符tcp,udp,和icmp也是关键字,所以必须用反斜杠(\)转义,在C-shell中应该是\\。
ether broadcast:
如果报文是以太广播报文,则为真。关键字ether是可选的。
ip broadcast:
如果报文是IP广播报文,则为真。Tcpdump检查全0和全1广播约定,并且检查本地的子网掩码。
ether multicast:
如果报文是以太组(多播)播报文(multicast),则为真。关键字ether是可选的。
ip multicast:
如果报文是IP多播报文,则为真。
ether proto protocol:
如果报文协议属于以太类型的protocol,则为真。Protocol可以是数字,也可以是名字,如ip,arp或rarp。注意这些标识符也是关键字,所以必须用反斜杠(\)转义。
ip, arp, rarp, decnet, lat, moprc, mopdl:
是:ether proto p的简写形式,其中p为上述协议的一种。
tcp, udp, icmp:
是:ip proto p 的简写形式, 其中p为上述协议的一种。
expr relop expr :
是一个关系表达式,如果这个关系式成立,则为真,其中relop是>,<,>=,<=,=,!=之一,expr是数学表达式,由常整数,普通的二进制运算符[+,-,*,/,&,|],一个长度运算符,和指定的报文数据访问算符组成。
要访问报文内的数据,使用下面的语法:proto[expr:size]
proto是ether,fddi,ip,arp,rarp,tcp,udp,oricmp之一,同时也指出了下标操作的协议层。expr给出字节单位的偏移量,该偏移量相对于指定的协议层。Size是可选项,指出感兴趣的字节数;它可以是1,2,4,缺省为1字节。由关键字len给出的长度运算符指明报文的长度。
例如,`ether[0]&1!=0'捕捉所有的多播传送报文。表达式`ip[0]&0xf != 5'捕捉所有带可选域的IP报文。表达式`ip[6:2]&0x1fff=0'只捕捉未分片和片偏移为0的数据报。这种检查隐含在tcp和udp
下标操作中。例如,tcp[0]一定是TCP报头的第一个字节,而不是其中某个IP片的第一个字节。
逻辑运算符
|------------|------|----------------------------------------------------|
| 运算符 | 含义 | 示例 |
| and 或 && | 逻辑与 | tcp and port 80(TCP 协议且端口为 80) |
| or 或 || | 逻辑或 | port 80 or port 443(端口 80 或 443) |
| not 或 ! | 逻辑非 | not icmp(排除 ICMP 协议) |
| () | 分组运算 | tcp and (port 80 or port 443)(TCP 协议且端口为 80 或 443) |
wireshark ------另一个常用且功能更强大的抓包工具
安装:yum -y install wireshark
图形界面:yum -y install wireshark-gnome
wireshark有windows版本,在路由器交换机学习中有用过。
其提供了tshark,命令行的抓包工具。
nc/ncat :
实现任意TCP/UDP端口的侦听,nc可以作为server以TCP或UDP方式侦听指定端口
可以做端口的扫描,nc可以作为client发起TCP或UDP连接
机器之间传输文件
测试机器之间的网速
参数:
4/6
强制只使用 IPv4/IPv6 地址。
-d, --delay <time>
读/写之间等待时间。
-h, --help
打印出帮助信息。
-k, --keep-open
在当前连接完成后继续侦听另一个连接。注意如果不使用 -l 选项,则使用此选项是错误的。
-l, --listen
指定应该侦听传入的连接,而不是启动到远程主机的连接。将此选项与 -p、-s 或 -z 选项结合使用是错误的。此外,使用 -w 选项指定的超时将被忽略。
-n, --nodns
不要在任何指定的地址、主机名或端口上执行任何 DNS 或服务查找。
-t, --telnet
使 nc 发送 RFC 854 DON'T 和 WON'T 响应 RFC 854 的 DO 和 WILL 请求。这使得使用 nc 编写 telnet 会话脚本成为可能
-U, --unixsock
指定使用 Unix 域套接字。
-u, --udp
使用 UDP 代替默认选项 TCP。
-v, --verbose
显示命令执行过程。
-z
表示 zero,只扫描侦听守护进程,而不向它们发送任何数据。此选项与 -l 选项结合使用是错误的
-C, --crlf
发送 CRLF 作为换行符。
-i, --idle-timeout <time>
空闲读/写超时时间。
-p, --source-port <port>
指定源端口,但须受特权限制和可用性限制。将此选项与 -l 选项结合使用是错误的。
-s, --source <addr>
设置本地主机送出数据包的 IP 地址。注意将此选项与 -l 选项结合使用是错误的。
-w, --wait <time>
如果连接和 stdin 空闲超过指定秒数,则连接将被关闭。-w 标志对 -l 选项没有影响。缺省不超时。
-o, --output <filename>
将会话数据转储到文件。
-x, --hex-dump <filename>
将会话数据作为十六进制转储到文件。
--version
显示版本信息。

文件传输方案:监听者为接收方
nc -l PORT >/path/to/somefile
nc IP PORT < /path/from/somefile
也可以反过来,监听者为传输方:
nc -l PORT < /path/from/somefile
nc IP PORT > /path/to/somefile
-p PORT:指明连接监听的服务器时使用的端口,即指定本地连接端口;
作为浏览器客户端使用:nc webserver port

扫描器:作为端口扫描器用(测试不好用)
nc -w 1 -vz 192.168.61.129 1-1024
作为聊天工具:
一端:nc -l PORT
另一端:nc IP PORT
nmap: (网络映射器)是一个开源的网络扫描和安全审计工具,广泛用于网络发现、安全审计和网络管理。它可以帮助你发现网络上的设备、开放端口以及服务等信息。Nmap以新颖的方式使用原始IP报文来发现网络上有哪些主机,那些主机提供什么服务(应用程序名和版本),那些服务运行在什么操作系统(包括版本信息),它们使用什么类型的报文过滤器/防火墙,以及一堆其它功能。
nmap在CentOS7.9中,其man手册已经汉化,所以直接根据其手册学习。
Nmap输出的是扫描目标的列表,以及每个目标的补充信息,至于是哪些信息则依赖于所使用的选项。
"所感兴趣的端口表格"是其中的关键。那张表列出端口号,协议,服务名称和状态。状态可能是
open(开放的),filtered(被过滤的), closed(关闭的),或者unfiltered(未被过滤的)。Open (开放的)意味着目标机器上的应用程序正在该端口监听连接/报文。filtered (被过滤的)意味着防火墙,过滤器或者其它网络障碍阻止了该端口被访问,Nmap无法得知 它是 open(开放的)还是 closed(关闭的)。closed (关闭的)端口没有应用程序在它上面监听,但是他们随时可能开放。当端口对Nmap的探测做出响应,但是Nmap无法确定它们是关闭还是开放时,这些端口就被认为是unfiltered(未被过滤的) 。如果Nmap报告状态组合 open|filtered 和closed|filtered时,那说明Nmap无法确定该端口处于两个状态中的哪一个状态。
当要求进行版本探测时,端口表也可以包含软件的版本信息。当要求进行IP协议扫描时(-sO),Nmap提供关于所支持的IP协议而不是正在监听的端口的信息。除了所感兴趣的端口表,Nmap还能提供关于目标机的进一步信息,包括反向域名,操作系统猜测,设备类型,和MAC地址。
语法:nmap [扫描类型...] [选项] {扫描目标说明}
示例:
nmap -A -T4 node1 node3

以下是man手册中的说明:
Usage: nmap [Scan Type(s)] [Options] {target specification}
TARGET SPECIFICATION:
Can pass hostnames, IP addresses, networks, etc.
Ex: scanme.nmap.org, microsoft.com/24, 192.168.0.1; 10.0-255.0-255.1-254
-iL <inputfilename>: Input from list of hosts/networks
-iR <num hosts>: Choose random targets
--exclude <host1[,host2][,host3],...>: Exclude hosts/networks
--excludefile <exclude_file>: Exclude list from file
HOST DISCOVERY:
-sL: List Scan - simply list targets to scan
-sP: Ping Scan - go no further than determining if host is online
-P0: Treat all hosts as online -- skip host discovery
-PS/PA/PU [portlist]: TCP SYN/ACK or UDP discovery probes to given ports
-PE/PP/PM: ICMP echo, timestamp, and netmask request discovery probes
-n/-R: Never do DNS resolution/Always resolve [default: sometimes resolve]
SCAN TECHNIQUES:
-sS/sT/sA/sW/sM: TCP SYN/Connect()/ACK/Window/Maimon scans
-sN/sF/sX: TCP Null, FIN, and Xmas scans
--scanflags <flags>: Customize TCP scan flags
-sI <zombie host[:probeport]>: Idlescan
-sO: IP protocol scan
-b <ftp relay host>: FTP bounce scan
PORT SPECIFICATION AND SCAN ORDER:
-p <port ranges>: Only scan specified ports
Ex: -p22; -p1-65535; -p U:53,111,137,T:21-25,80,139,8080
-F: Fast - Scan only the ports listed in the nmap-services file)
-r: Scan ports consecutively - don't randomize
SERVICE/VERSION DETECTION:
-sV: Probe open ports to determine service/version info
--version-light: Limit to most likely probes for faster identification
--version-all: Try every single probe for version detection
--version-trace: Show detailed version scan activity (for debugging)
OS DETECTION:
-O: Enable OS detection
--osscan-limit: Limit OS detection to promising targets
--osscan-guess: Guess OS more aggressively
TIMING AND PERFORMANCE:
-T[0-6]: Set timing template (higher is faster)
--min-hostgroup/max-hostgroup <msec>: Parallel host scan group sizes
--min-parallelism/max-parallelism <msec>: Probe parallelization
--min-rtt-timeout/max-rtt-timeout/initial-rtt-timeout <msec>: Specifies
probe round trip time.
--host-timeout <msec>: Give up on target after this long
--scan-delay/--max-scan-delay <msec>: Adjust delay between probes
FIREWALL/IDS EVASION AND SPOOFING:
-f; --mtu <val>: fragment packets (optionally w/given MTU)
-D <decoy1,decoy2[,ME],...>: Cloak a scan with decoys
-S <IP_Address>: Spoof source address
-e <iface>: Use specified interface
-g/--source-port <portnum>: Use given port number
--data-length <num>: Append random data to sent packets
--ttl <val>: Set IP time-to-live field
--spoof-mac <mac address, prefix, or vendor name>: Spoof your MAC address
OUTPUT:
-oN/-oX/-oS/-oG <file>: Output scan results in normal, XML, s|<rIpt kIddi3,
and Grepable format, respectively, to the given filename.
-oA <basename>: Output in the three major formats at once
-v: Increase verbosity level (use twice for more effect)
-d[level]: Set or increase debugging level (Up to 9 is meaningful)
--packet-trace: Show all packets sent and received
--iflist: Print host interfaces and routes (for debugging)
--append-output: Append to rather than clobber specified output files
--resume <filename>: Resume an aborted scan
--stylesheet <path/URL>: XSL stylesheet to transform XML output to HTML
--no-stylesheet: Prevent Nmap from associating XSL stylesheet w/XML output
MISC:
-6: Enable IPv6 scanning
-A: Enables OS detection and Version detection
--datadir <dirname>: Specify custom Nmap data file location
--send-eth/--send-ip: Send packets using raw ethernet frames or IP packets
--privileged: Assume that the user is fully privileged
-V: Print version number
-h: Print this help summary page.
EXAMPLES:
nmap -v -A scanme.nmap.org
nmap -v -sP 192.168.0.0/16 10.0.0.0/8
nmap -v -iR 10000 -P0 -p 80
一共分为几大类:
TARGET SPECIFICATION: 目标说明,对目标主机的说明,可以是是主机名,IP地址或网络;对于目标主机,可以有多重定义方式;
HOST DISCOVERY:主机发现,找到活动或感兴趣的主机;主机发现机制除了通过ping工具发送ICMP报文,还可以有TCP SYN/ACK,UDP等,可以组合起来进行主机发现;这需要对网络协议、网络连接过程非常熟悉;
SCAN TECHNIQUES:端口扫描技术;
PORT SPECIFICATION AND SCAN ORDER:端口说明和扫描顺序,说明端口被扫描以及扫描是随机还是顺序进行;
SERVICE/VERSION DETECTION:服务和版本探测,端口对应的服务及服务软件的版本;
OS DETECTION:操作系统探测,探测主机所使用的操作系统,名称及版本信息;
TIMING AND PERFORMANCE:时间和性能;
FIREWALL/IDS EVASION AND SPOOFING:防火墙/IDS躲避和哄骗,对于安装有防火墙和入侵检测系统的主机或网络的扫描选项;
OUTPUT:输出,控制输出的格式、细节等;
MISC:其他杂项;
Nmap所识别的6个端口状态:
open(开放的):应用程序正在该端口接收TCP连接或者UDP报文。发现这一点常常是端口扫描
的主要目标。安全意识强的人们知道每个开放的端口都是攻击的入口。攻击者或者入侵测试者想要发现开放的端口。而管理员则试图关闭它们或者用防火墙保护它们以免妨碍了合法用户。非安全扫描可能对开放的端口也感兴趣,因为它们显示了网络上那些服务可供使用。
closed(关闭的):关闭的端口对于Nmap也是可访问的(它接受Nmap的探测报文并作出响应),但没有应用程序在其上监听。它们可以显示该IP地址上(主机发现,或者ping扫描)的主机正在运行,也对部分操作系统探测有所帮助。因为关闭的端口是可访问的,也许过会儿值得再扫描一下,可能一些又开放了。系统管理员可能会考虑用防火墙封锁这样的端口。那样他们就会被显示为被过滤的状态。
filtered(被过滤的):由于包过滤阻止探测报文到达端口,Nmap无法确定该端口是否开放。过滤可能来自专业的防火墙设备,路由器规则或者主机上的软件防火墙。这样的端口让攻击者感觉很挫折,因为它们几乎不提供任何信息。有时候它们响应ICMP错误消息如类型3代码13(无法到达目标:
通信被管理员禁止),但更普遍的是过滤器只是丢弃探测帧,不做任何响应。这迫使Nmap重试若干次以访万一探测包是由于网络阻塞丢弃的。这使得扫描速度明显变慢。
unfiltered(未被过滤的):未被过滤状态意味着端口可访问,但Nmap不能确定它是开放还是关闭。
只有用于映射防火墙规则集的ACK扫描才会把端口分类到这种状态。用其它类型的扫描如窗口扫描,SYN扫描,或者FIN扫描来扫描未被过滤的端口可以帮助确定端口是否开放。
open|filtered(开放或者被过滤的):当无法确定端口是开放还是被过滤的,Namp就把该端口划分成
这种状态。开放的端口不响应就是一个例子。没有响应也可能意味着报文过滤器丢弃了探测报文或者它引发的任何响应。因此Nmap无法确定该端口是开放的还是被过滤的。UDP,IP协议,FIN,Null,和Xmas扫描可能把端口归入此类。
closed|filtered(关闭或者被过滤的):该状态用于Nmap不能确定端口是关闭的还是被过滤的。它只可能出现在IPIDIdle扫描中。
TARGET SPECIFICATION:
-iL <inputfilename> (从列表中输入)
-iR <hostnum> (随机选择目标)
--exclude <host1[,host2][,host3],...> (排除主机/网络)
--excludefile <excludefile> (排除文件中的列表)
HOST DISCOVERY:
-sL (列表扫描)
-sP (Ping扫描)
-P0 (无ping)
-PS [portlist] (TCP SYN Ping)
-PA [portlist] (TCP ACK Ping)
-PU [portlist] (UDP Ping)
-PE; -PP; -PM (ICMP Ping Types)
-PR (ARP Ping)
-n (不用域名解析)
-R (为所有目标解析域名)
--system-dns (使用系统域名解析器)
SCAN TECHNIQUES:
-sS (TCP SYN扫描)
-sT (TCP connect()扫描)
-sU (UDP扫描)
-sN; -sF; -sX (TCP Null,FIN,and Xmas扫描)
-sA (TCP ACK扫描)
-sW (TCP窗口扫描)
-sM (TCP Maimon扫描)
--scanflags (定制的TCP扫描)
-sI <zombie host[:probeport]> (Idlescan)
-sO (IP协议扫描)
-b <ftp relay host> (FTP弹跳扫描)
PORT SPECIFICATION AND SCAN ORDER:
-p <port ranges> (只扫描指定的端口)
-F (快速 (有限的端口) 扫描)
-r (不要按随机顺序扫描端口)
SERVICE/VERSION DETECTION:
-sV (版本探测)
--allports (不为版本探测排除任何端口)
--version-intensity <intensity> (设置 版本扫描强度)
--version-light (打开轻量级模式)
--version-all (尝试每个探测)
--version-trace (跟踪版本扫描活动)
-sR (RPC扫描)
OS DETECTION:
-O (启用操作系统检测)
--osscan-limit (针对指定的目标进行操作系统检测)
--osscan-guess; --fuzzy (推测操作系统检测结果)
TIMING AND PERFORMANCE:
--min-hostgroup <milliseconds>; --max-hostgroup <milliseconds> (调整并行扫描组的大小)
--min-parallelism <milliseconds>; --max-parallelism <milliseconds>
(调整探测报文的并行度)
--min-rtt-timeout <milliseconds>, --max-rtt-timeout <milliseconds>,
--initial-rtt-timeout <milliseconds> (调整探测报文超时)
--host-timeout <milliseconds> (放弃低速目标主机)
--scan-delay <milliseconds>; --max-scan-delay <milliseconds> (调整探测报文的时间间隔)
-T <Paranoid|Sneaky|Polite|Normal|Aggressive|Insane> (设置时间模板)
FIREWALL/IDS EVASION AND SPOOFING:
-f (报文分段); --mtu (使用指定的MTU)
-D <decoy1 [,decoy2][,ME],...> (使用诱饵隐蔽扫描)
-S <IP_Address> (源地址哄骗)
-e <interface> (使用指定的接口)
--source-port <portnumber>; -g <portnumber> (源端口哄骗)
--data-length <number> (发送报文时 附加随机数据)
-ttl <value> (设置IP time-to-live域)
--randomize-hosts (对目标主机的顺序随机排列)
--spoof-mac <mac address,prefix,or vendor name> (MAC地址哄骗)
OUTPUT:
-oN <filespec> (标准输出)
-oX <filespec> (XML输出)
-oS <filespec> (ScRipT KIdd|3 oUTpuT)
-oG <filespec> (Grep输出)
-oA <basename> (输出至所有格式)
-v (提高输出信息的详细度)
-d [level] (提高或设置调试级别)
--packet-trace (跟踪发送和接收的报文)
--iflist (列举接口和路由)
--append-output (在输出文件中添加)
--resume <filename> (继续中断的扫描)
--stylesheet <path or URL> (设置XSL样式表,转换XML输出)
--no-stylesheet (忽略XML声明的XSL样式表)
MISC:
-6 (启用IPv6扫描)
-A (激烈扫描模式选项)
--datadir <directoryname> (说明用户Nmap数据文件位置)
--send-eth (使用原以太网帧发送)
--send-ip (在原IP层发送)
--privileged (假定用户具有全部权限)
--interactive (在交互模式中启动)
-V; --version (打印版本信息)