掌握网络侦察利器:深入解析5大操作系统指纹识别工具
- Published on
目录
Nmap
Nmap(Network Mapper)是一款开源的网络探测和安全审计工具。它可以用来发现网络上的主机、服务、操作系统等信息,是网络管理员和安全专业人员的必备工具之一。
安装
Windows系统
- 访问Nmap官方网站(https://nmap.org/download.html)
- 下载Windows版安装程序
- 运行安装程序,按提示完成安装
Linux系统
对于大多数Linux发行版,可以使用包管理器安装Nmap:
- Ubuntu/Debian:
sudo apt-get install nmap
- CentOS/RHEL:
sudo yum install nmap
- Fedora:
sudo dnf install nmap
macOS系统
使用Homebrew安装: brew install nmap
基本使用
安装完成后,可以在命令行中使用Nmap。以下是一些基本用法及其输出示例:
扫描单个主机:
nmap 192.168.1.1
扫描整个子网:
nmap 192.168.1.0/24
扫描特定端口:
nmap -p 80,443 192.168.1.1
操作系统检测:
sudo nmap -O 192.168.1.1
版本扫描:
nmap -sV 192.168.1.1
综合扫描(包括操作系统检测、版本扫描、脚本扫描和路由跟踪):
sudo nmap -A 192.168.1.1
基本的操作系统扫描
使用 -O
选项进行基本的操作系统检测:
sudo nmap -O 192.168.1.1
输出示例:
Starting Nmap 7.92 ( https://nmap.org ) at 2023-08-26 11:00 EDT
Nmap scan report for 192.168.1.1
Host is up (0.00022s latency).
Not shown: 998 closed tcp ports
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
Device type: general purpose
Running: Linux 4.X|5.X
OS CPE: cpe:/o:linux:linux_kernel:4 cpe:/o:linux:linux_kernel:5
OS details: Linux 4.15 - 5.6
Network Distance: 1 hop
OS detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 3.62 seconds
更详细的操作系统扫描
使用 -A
选项进行更全面的扫描,包括操作系统检测、版本扫描、脚本扫描和traceroute:
sudo nmap -A 192.168.1.1
输出示例:
Starting Nmap 7.92 ( https://nmap.org ) at 2023-08-26 11:05 EDT
Nmap scan report for 192.168.1.1
Host is up (0.00022s latency).
Not shown: 998 closed tcp ports
PORT STATE SERVICE VERSION
22/tcp open ssh OpenSSH 8.2p1 Ubuntu 4ubuntu0.5 (Ubuntu Linux; protocol 2.0)
80/tcp open http Apache httpd 2.4.41 ((Ubuntu))
|_http-server-header: Apache/2.4.41 (Ubuntu)
|_http-title: Apache2 Ubuntu Default Page: It works
Device type: general purpose
Running: Linux 4.X|5.X
OS CPE: cpe:/o:linux:linux_kernel:4 cpe:/o:linux:linux_kernel:5
OS details: Linux 4.15 - 5.6
Network Distance: 1 hop
TRACEROUTE
HOP RTT ADDRESS
1 0.22 ms 192.168.1.1
OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 6.82 seconds
解释操作系统指纹结果
Device type: 指示设备的一般用途。在这个例子中,它是"general purpose"(通用目的)。
Running: 给出了可能运行的操作系统及其主要版本。这里显示"Linux 4.X|5.X",表示目标可能运行的是Linux 4.x或5.x版本。
OS CPE: Common Platform Enumeration (CPE)是一个结构化的命名方案,用于操作系统、应用程序和硬件设备。这里显示的是与检测到的操作系统匹配的CPE。
OS details: 提供了更具体的操作系统版本信息。在这个例子中,它表明目标可能运行的是Linux 4.15到5.6之间的某个版本。
Network Distance: 表示到达目标主机所需的跳数。
该工具需要指定特定的 ip 地址进行扫描,与我们的项目需求不太相关
RING
RING是一个用于操作系统指纹识别的工具,特别适用于目标系统只有一个开放端口的情况。它通过分析TCP三次握手中的数据包重传机制来识别操作系统。以下是关于RING的安装和详细使用的介绍。
安装RING
1. 下载RING
RING的源代码可以从官方GitHub页面或相关的开源软件网站下载。通常,您可以找到最新的版本和文档。
2. 编译和安装
RING是用C/C++编写的,因此您需要确保系统上安装了编译工具(如GCC)和必要的库。
解压下载的文件(如果是压缩包):
tar -xvf ring-<version>.tar.gz
进入目录:
cd ring-<version>
编译:
cd ring-<version>
安装(可选):
sudo make install
3. 验证安装
安装完成后,您可以通过运行以下命令来验证RING是否正确安装:
ring --version
使用
1. 基本命令格式
RING的基本命令格式如下:
ring -d <目标IP> -s <源IP> -p <开放端口>
2. 参数说明
-d <目标IP>
:指定要测试的目标主机的IP地址。-s <源IP>
:指定源IP地址(通常是您自己的IP)。-p <开放端口>
:指定目标主机的开放端口。
3. 示例使用
假设您要检测IP为192.168.1.10的主机,源IP为192.168.1.5,开放端口为80,您可以运行以下命令:
ring -d 192.168.1.10 -s 192.168.1.5 -p 80
4. 分析结果
RING会根据目标主机的响应时间和TCP标志等信息进行分析,最后输出识别出的操作系统类型和版本信息。RING的输出通常会包含目标主机的操作系统信息、检测到的TCP标志、序列号、确认号等数据。以下是一个的输出样例。
RING OS Fingerprinting Tool
Version: 1.0.0
-----------------------------------
Target IP: 192.168.1.10
Source IP: 192.168.1.5
Open Port: 80
Timeout: 200ms
-----------------------------------
Sending SYN packet to 192.168.1.10:80...
Received SYN-ACK from 192.168.1.10
Forcing retransmission...
Retransmission detected:
- First Retransmission: 100ms
- Second Retransmission: 200ms
- Third Retransmission: 300ms
Analyzing TCP Flags:
- SYN: 1
- ACK: 1
- RST: 0
- FIN: 0
Sequence Number: 123456789
Acknowledgment Number: 987654321
-----------------------------------
Identified OS:
- Windows 10 (64-bit)
- Version: 10.0.19041
-----------------------------------
Fingerprint Analysis:
- TCP Window Size: 8192
- MTU: 1500
- TTL: 128
-----------------------------------
输出解析
目标信息:
- 输出中显示了目标IP地址、源IP地址和开放端口。
连接过程:
- 包含发送SYN包和接收到SYN-ACK的过程,显示了重传的时间。
TCP标志:
- 列出了TCP标志的状态,帮助分析连接的特征。
序列号和确认号:
- 显示了TCP连接中的序列号和确认号,这些信息有助于进一步的指纹识别。
操作系统识别:
- 最后的部分列出了识别出的操作系统及其版本信息。
指纹分析:
- 包含TCP窗口大小、MTU(最大传输单元)和TTL(生存时间)等网络参数。
这个输出样例展示了RING工具在进行操作系统指纹识别时所提供的详细信息,帮助用户更好地理解目标主机的网络特征。
5. 高级选项
RING还提供了一些高级选项,例如:
-t <timeout>
:设置超时时间。-f <fingerprint>
:指定自定义指纹文件。
RING 工具可以帮助我们确定 TCP 窗口大小、MTU 等等特征,在提取特征值的方面还是非常有帮助的
Xprobe2
Xprobe2是一款远程主机操作系统指纹识别工具,采用了一种不同于传统方法的方式进行操作系统识别。它通过分析目标主机的响应数据包特征来识别其操作系统类型。与Nmap等工具不同,Xprobe2的设计理念是通过统计和概率方法来提高识别的准确性,尤其是在网络环境复杂或目标主机开放端口有限的情况下。
Xprobe2的主要特点包括:
- 模糊签名匹配:Xprobe2使用模糊逻辑来匹配指纹,能够更好地处理网络中的不确定性。
- 多模块支持:Xprobe2包含多个模块,能够同时进行多种测试,以提高识别的准确性。
- 低流量生成:该工具生成的网络流量较少,因此在使用时不易被入侵检测系统(IDS)或入侵防御系统(IPS)检测到。
安装
系统要求
- Linux操作系统(如Kali Linux)
- C++编译器(如GCC)
- libpcap库
安装步骤
更新软件包列表:
sudo apt update
安装Xprobe2:
sudo apt-get install xprobe2
检查安装是否成功:
xprobe2 --help
使用
基本命令格式
Xprobe2的基本命令格式如下:
xprobe2 [options] <host>
常用选项
-L
:列出可用模块。-v
:显示详细信息。-r
:显示到目标的路由(类似traceroute)。-D <modnum>
:禁用特定模块。-p <proto:portnum:state>
:指定协议、端口和状态进行测试。
示例使用
列出模块:
xprobe2 -L
指纹识别:
sudo xprobe2 192.168.1.10
指纹识别公共域名:
sudo xprobe2 google.com
输出结果
Xprobe2会根据目标主机的响应返回操作系统的名称和版本信息。例如:
Host: 192.168.1.10
Operating System: "Linux Kernel 2.6.32" (Guess Probability: 95%)
Operating System: "Windows Server 2008" (Guess Probability: 80%)
Operating System: "FreeBSD 8.0" (Guess Probability: 75%)
-----------------------------------
Cleaning up scan engine...
Execution completed.
输出结果分析
Host: 输出中首先显示了被扫描的目标IP地址,便于用户确认目标。
Operating System: 输出列出了可能的操作系统及其版本信息,以及每个识别的概率。这种模糊匹配的方式使得Xprobe2能够提供多个可能的操作系统选项,而不是仅仅给出一个确定的结果。
Guess Probability: 每个操作系统后面的概率值表示Xprobe2对该操作系统识别的信心程度。较高的概率值(如95%)表明该识别结果非常可靠,而较低的概率值则可能表示该识别结果不够确定。这种方式使得用户能够根据概率值来判断结果的可信度。
Cleaning up scan engine: 表示扫描结束后,Xprobe2正在清理资源,确保不会留下任何未使用的网络连接或数据。
p0f
p0f是一款被动式TCP/IP堆栈指纹识别工具,能够通过分析网络流量来识别远程主机的操作系统。与Nmap等主动扫描工具不同,p0f不生成任何流量,而是安静地监听网络中的数据包,从中提取信息。以下是关于p0f的安装和主要使用方法的详细介绍。
安装
1. 系统要求
p0f支持多种操作系统,包括Linux、macOS和Windows。确保您的系统上安装了以下组件:
- C编译器(如GCC)
- libpcap库(用于捕获网络数据包)
2. 安装步骤
下载源代码 您可以从p0f的GitHub页面或官方网站下载最新的源代码包。
解压缩文件
tar -xvf p0f-<version>.tar.gz cd p0f-<version>
编译p0f 在终端中运行以下命令:
./build.sh
安装p0f 编译完成后,您可以将p0f安装到系统中:
sudo make install
验证安装 运行以下命令以确保p0f安装成功:
p0f -v
使用
1. 启动p0f
启动p0f时,您需要指定要监听的网络接口。可以使用以下命令:
sudo p0f -i eth0 -p -o /tmp/p0f.log
输出示例:
-- p0f 3.09b by Michal Zalewski <lcamtuf@coredump.cx> ---
[+] Closed 1 file descriptor.
[+] Loaded 322 signatures from '/etc/p0f/p0f.fp'.
[+] Intercepting traffic on interface 'eth0'.
[+] Default packet filtering configured [+VLAN].
[+] Log file '/tmp/p0f.log' opened for writing.
[+] Entered main event loop.
2. 监听网络流量
p0f会开始监听指定接口上的流量。当有其他主机发送TCP数据包到该网络接口时,p0f将分析这些数据包并提取操作系统信息。
3. 查看识别结果
当有流量经过时,p0f会在终端中显示识别到的操作系统信息。例如:
.-[ 192.168.1.15/35834 -> 173.246.39.185/873 (syn) ]-
| client = 192.168.1.15/35834
| os = Linux 3.11 and newer
| dist = 0
| params = none
| raw_sig = 4:64+0:0:1460:mss*20,7:mss,sok,ts,nop,ws:df,id+:0
输出结果分析
client = 192.168.1.15/35834:显示了发送数据包的主机的IP地址和端口号。
os = Linux 3.11 and newer:p0f成功识别了发送数据包的主机操作系统为Linux 3.11及更新版本。这一信息对于网络安全审计和渗透测试非常重要,因为不同的操作系统可能存在不同的漏洞和安全特性。
dist = 0:表示与目标主机的距离为0,通常意味着它们在同一局域网内。这有助于分析网络拓扑结构。
raw_sig = 4:64+0:0:1460:mss*20,7:mss,sok,ts,nop,ws:df,id+:0:这是p0f根据捕获的数据包生成的原始签名。该信息可以用于进一步的分析和调试。
4. 其他命令选项
-L
:列出所有可用的网络接口。-f <filename>
:指定自定义的指纹数据库文件。-r <filename>
:从pcap文件读取流量,而不是监听实时流量。
Ettercap
Ettercap是一款功能强大的网络嗅探和中间人攻击工具。它支持对许多协议的主动和被动分析,并包含许多用于网络和主机分析的特性。Ettercap主要适用于交换局域网络,借助于它,渗透测试人员可以检测网络内明文数据通讯的安全性,及时采取措施,避免敏感的用户名/密码等数据以明文的方式进行传输。
安装
1. 系统要求
- Linux操作系统(如Kali Linux)
- 依赖库:debhelper、bison、check、cmake、flex、ghostscript、libbsd-dev、libcurl4-openssl-dev、libgeoip-dev、libltdl-dev、libluajit-5.1-dev、libncurses5-dev、libnet1-dev、libpcap-dev、libpcre3-dev、libssl-dev、libgtk-3-dev、libgtk2.0-dev
2. 安装步骤
下载Ettercap源代码 从Ettercap官网或GitHub页面下载最新版本的源代码包。
解压缩文件
tar -xvf ettercap-<version>.tar.gz cd ettercap-<version>
安装依赖库
sudo apt-get install debhelper bison check cmake flex ghostscript libbsd-dev libcurl4-openssl-dev libgeoip-dev libltdl-dev libluajit-5.1-dev libncurses5-dev libnet1-dev libpcap-dev libpcre3-dev libssl-dev libgtk-3-dev libgtk2.0-dev
编译和安装Ettercap
mkdir build cd build sudo cmake ../ sudo make install
验证安装 在终端中输入
ettercap
并按Enter键,如果出现相关提示信息,则表示安装成功。
使用
在命令行输入以下命令
sudo ettercap -G
启动Ettercap后,您将看到类似以下的输出:
Ettercap v0.8.3.1
Copyright 2001-2020 Ettercap Development Team
[INFO] Listening on interface eth0
[INFO] Scanning for hosts...
[INFO] 192.168.1.10 - MAC: 00:11:22:33:44:55
[INFO] 192.168.1.15 - MAC: 00:11:22:33:44:66
[INFO] Hosts found: 2
当您选择一个目标并开始中间人攻击时,Ettercap可能会输出如下信息:
[INFO] Starting ARP poisoning...
[INFO] Intercepting traffic between 192.168.1.10 and 192.168.1.15
[INFO] Captured packets: 100
[INFO] Packet details:
- Source: 192.168.1.10
- Destination: 192.168.1.15
- Protocol: HTTP
- Data: GET /index.html HTTP/1.1
输出结果分析
Listening on interface eth0:显示Ettercap正在监听的网络接口,通常是您选择的网卡。
Scanning for hosts... 和 Hosts found: 2:Ettercap扫描网络并找到两个主机,显示了它们的IP地址和MAC地址。这对于确定攻击目标非常重要。
Starting ARP poisoning...:表示Ettercap开始进行ARP欺骗,以便在目标主机之间进行中间人攻击。这一过程使得攻击者能够拦截和修改数据流。
Captured packets: 100:显示已捕获的数据包数量,这表明Ettercap成功地在目标主机之间拦截了通信。
Packet details:提供了捕获的数据包的详细信息,包括源IP、目的IP、协议和数据内容。这些信息对于分析网络流量和识别潜在的安全问题非常重要。
NetworkMiner
NetworkMiner是一款网络取证分析工具,可用于检测网络、主机和操作系统、捕获网络流量以及提取传输的文件,而无需在网络上生成任何流量。它支持Windows、Linux和macOS等多种操作系统。
安装
1. 系统要求
- Windows操作系统
- 对于Linux和macOS,需要安装Mono框架
2. 安装步骤
下载最新版本 从官方网站下载最新版本的NetworkMiner。
解压缩文件 将下载的ZIP文件解压缩到您选择的目录中,因为NetworkMiner不需要传统的安装过程。
运行NetworkMiner
- Windows用户:导航到解压缩的文件夹并执行NetworkMiner.exe文件。
- Linux和macOS用户:在终端中使用以下命令运行NetworkMiner:
mono NetworkMiner.exe
配置设置(可选)
- 进入"设置"选项卡,根据需要调整文件提取路径、网络接口和解码选项等首选项。
- 确保您的用户有权访问网络接口,并在NetworkMiner中将适当的网络接口设置为活动状态。
使用
1. 捕获网络流量
- 在"捕获"选项卡中,选择要监听的网络接口。
- 开始捕获网络流量。
2. 分析捕获的流量
- 在"文件"选项卡中,可以查看提取的文件。
- 在"图像"选项卡中,可以查看提取的图像文件的缩略图。
3. 提取凭据
- 在"凭据"选项卡中,可以查看NetworkMiner检测到的用户名、密码和哈希值。
4. 主机清单
- "主机"选项卡提供了一个已观察到的设备的概览。
- NetworkMiner会根据IP地址聚合数据,以创建主机清单。
5. 操作系统识别
NetworkMiner可以识别主机正在运行的操作系统。
它从捕获的数据包中提取信息,如TCP/IP堆栈的行为特征。
假设我们使用NetworkMiner分析一个PCAP文件,可能会看到以下输出结果:
[2014-03-25 14:20:01] Detected host: 192.168.1.100 (MAC: 00:11:22:33:44:55)
[2014-03-25 14:20:01] Detected operating system: Windows 7 (Confidence: 90%)
[2014-03-25 14:20:02] Extracted file: document.pdf
[2014-03-25 14:20:03] Detected username: john@company.com
[2014-03-25 14:20:03] Detected password: mypassword123
输出结果分析
NetworkMiner检测到IP地址为192.168.1.100的主机,并获取了其MAC地址。这有助于创建网络中主机的清单。
NetworkMiner识别出该主机正在运行Windows 7操作系统,并给出90%的置信度。这是通过分析捕获的数据包中的TCP/IP堆栈行为特征来实现的。
NetworkMiner从网络流量中提取了一个名为"document.pdf"的文件。它能够从多种协议(如HTTP、FTP、SMTP等)中提取文件。
NetworkMiner检测到用户名"john@company.com"和密码"mypassword123"。它能够从HTTP POST请求、FTP、IMAP等协议中提取明文凭据。
SinFP
SinFP是一款操作系统指纹识别工具,它采用了一种新颖的方法来识别操作系统,能够在仅有一个开放端口的情况下进行有效的指纹识别。与传统的指纹识别工具(如Nmap)不同,SinFP允许在每个TCP端口上进行指纹识别,而不是仅在主机级别进行。这使得SinFP在某些网络环境中更加灵活和有效。
安装SinFP
1. 系统要求
SinFP主要在Linux环境中运行,因此确保您的系统满足以下要求:
- Linux操作系统
- Perl环境(SinFP是用Perl编写的)
2. 安装步骤
下载SinFP 您可以从官方网站或相关的下载页面获取SinFP的最新版本。例如,您可以使用以下命令下载:
wget http://www.vulnerabilityassessment.co.uk/SinFP-2.08.tar.gz
解压缩文件 下载完成后,解压缩文件:
tar -zxvf SinFP-2.08.tar.gz cd SinFP-2.08
编译和安装 SinFP不需要复杂的编译过程,您只需确保Perl环境已安装。然后,您可以直接运行:
make sudo make install
验证安装 确保SinFP已正确安装,可以通过运行以下命令来检查:
./sinfp.pl -h
使用
1. 基本命令格式
SinFP的基本命令格式如下:
./sinfp.pl -i <interface> -p <port>
-i
:指定要使用的网络接口。-p
:指定目标主机的端口。
2. 示例使用
主动指纹识别: 假设您要对IP为192.168.1.10的主机进行指纹识别,使用端口80:
./sinfp.pl -i eth0 -p 445 192.168.1.10
被动指纹识别: 如果您有一个PCAP文件,可以使用以下命令进行分析:
./sinfp.pl -f captured_traffic.pcap
3. 输出结果示例
运行指纹识别后,您可能会看到类似以下的输出:
T1: B11113 F0x12 W64240 O0204ffff M1460
T2: B11113 F0x12 W64240 O0204ffff010303000101080a000000000000000001010402 M1460
T3: B11021 F0x04 W0 O0 M0
IPv4: HEURISTIC0/P1P2P3: Windows: Microsoft: Windows: 2000 (SP0, SP4)
T1、T2、T3:这些行表示SinFP对目标主机进行的不同测试结果。每个测试结果包含TCP标志、窗口大小、选项和最大报文段大小(MSS)等信息。这些数据用于确定目标主机的操作系统。
IPv4: HEURISTIC0/P1P2P3: Windows: Microsoft: Windows: 2000 (SP0, SP4):这行显示了SinFP识别出的操作系统及其版本信息。在这个例子中,识别出的操作系统是Windows 2000,且可能的服务包为SP0或SP4。
4. 高级选项
SinFP还提供了一些高级选项,允许用户自定义指纹识别的行为。例如:
-3
:运行所有探测。-2
:仅运行探测P1和P2(更隐蔽)。-v
:显示详细输出。
ZMap
ZMap是一款高速网络扫描工具,可以在短时间内扫描整个IPv4地址空间。它的主要特点包括:
- 高速扫描:在1Gbps带宽下,可以在45分钟内扫描全部IPv4地址空间。在10Gbps带宽下,可以在5分钟内完成扫描。
- 支持多平台:ZMap支持Linux、macOS和BSD等操作系统。
- 灵活性强:可以扫描指定端口、IP地址范围,并支持输出结果到CSV文件。
安装
软件库安装
在Ubuntu系统上,可以使用以下命令从软件库安装ZMap:
sudo apt install zmap
源码安装
下载源码 从ZMap的GitHub仓库下载最新版本的源码包。
安装依赖 安装编译ZMap所需的依赖包,在Ubuntu上可以使用以下命令:
sudo apt-get install build-essential cmake libgmp3-dev gengetopt libpcap-dev flex byacc libjson-c-dev pkg-config libunistring-dev
编译安装 进入源码目录,执行以下命令编译并安装ZMap:
cmake . make -j4 sudo make install
使用
扫描指定端口
使用以下命令扫描指定端口,例如80端口:
zmap -p 80 -o results.csv 10.0.0.0/8
-p
参数指定要扫描的端口-o
参数指定输出结果的CSV文件10.0.0.0/8
指定要扫描的IP地址范围
扫描所有端口
要扫描所有端口,可以使用以下命令:
zmap -p 80 -B 10M -n 10000 -o results.csv 192.168.1.0/24
输出结果
0:00 0% send: 0 done (0.0 Kp/s avg); recv: 0 0 p/s (0 p/s avg); hits: 0.00%
0:01 10% send: 1000 done (1000.0 Kp/s avg); recv: 100 100 p/s (100 p/s avg); hits: 1.00%
0:02 20% send: 2000 done (1000.0 Kp/s avg); recv: 200 100 p/s (100 p/s avg); hits: 2.00%
...
0:05 50% send: 5000 done (1000.0 Kp/s avg); recv: 500 100 p/s (100 p/s avg); hits: 5.00%
...
0:10 100% send: 10000 done (1000.0 Kp/s avg); recv: 1000 100 p/s (100 p/s avg); hits: 10.00%
输出结果分析
- 扫描进度
- 时间:输出中显示了扫描的时间进度(例如:
0:00
,0:01
等)。 - 百分比:显示了扫描完成的百分比(如
0%
,10%
,100%
)。 - 发送和接收信息:
- send:显示已发送的请求数量(如
send: 1000 done
)。 - recv:显示接收到的响应数量(如
recv: 100
)。 - hits:表示成功匹配的结果数量(如
hits: 1.00%
)。
- send:显示已发送的请求数量(如
- 性能指标
- Kp/s avg:表示每秒发送的请求数量的平均值(如
1000.0 Kp/s avg
)。 - p/s avg:表示每秒接收到的响应数量的平均值(如
100 p/s avg
)。
其他选项
-B
参数可以限制扫描速率,例如-B 10M
表示限制为10Mbps-n
参数可以指定要扫描的主机数量