Linux Nmap命令解析(Nmap指令)(功能:主机发现、ping扫描、arp扫描、端口扫描、服务版本检测、操作系统识别等)

文章目录

  • Linux Nmap 命令解析
    • 简介
    • Nmap 的核心功能
      • 主机发现
      • 端口扫描
      • 服务版本检测
      • OS 指纹识别(操作系统指纹识别)
      • 脚本扫描
    • 安装 Nmap
    • Nmap 命令结构
    • Nmap 命令文档
      • 英文
      • 中文
    • 主机发现
      • Ping 扫描
      • ARP 扫描
      • 关于`nmap -PR`(ARP Ping Scan)和`nmap -Pn`(No Ping Scan)
        • `-PR` ARP Ping Scan
        • `-Pn` No Ping Scan
        • 示例
        • 总结
    • 端口扫描
      • 常见的端口扫描类型
      • 示例:SYN 扫描
    • 服务版本检测
    • OS 指纹识别
    • 使用 Nmap 脚本引擎 (NSE)
    • 输出和报告
      • 文本输出
      • XML 输出
      • Grepable 输出
    • 高级技术
      • 防火墙绕过
      • 时间和性能
      • 脚本参数
    • 安全性和合法性
    • 结语

Linux Nmap 命令解析

简介

Nmap(Network Mapper)是一款开源的网络探测和安全审核工具。它设计用于快速扫描大型网络,但也适合对单个主机进行各种检查。Nmap 由 Gordon Lyon(又名 Fyodor)编写,并首次发布于 1997 年。

Nmap 的核心功能

主机发现

主机发现是确定哪些主机在网络上活跃并响应的过程。

端口扫描

端口扫描用于发现目标主机上开放的 TCP 和 UDP 端口。

服务版本检测

服务版本检测可以确定端口上运行的应用程序及其版本信息。

OS 指纹识别(操作系统指纹识别)

通过发送特定的数据包序列并分析响应,Nmap 能够推断出目标系统可能运行的操作系统。

操作系统指纹识别,具体参考:nmap os detection原理及golang实现

脚本扫描

Nmap 提供了一个强大的脚本引擎(NSE),可以使用特定的脚本来发现额外的网络信息,或者检测和利用漏洞。

安装 Nmap

Nmap 在大多数 Linux 发行版中都可以通过包管理器轻松安装:

# Debian/Ubuntu 系统:
sudo apt-get install nmap# Red Hat/CentOS 系统:
sudo yum install nmap# Fedora 系统:
sudo dnf install nmap

Nmap 命令结构

基本命令格式如下:

nmap [扫描类型...] [选项] {目标规范}

其中,“扫描类型”定义了将执行的扫描方法,“选项”可用于进一步定制扫描,而“目标规范”指定了要扫描的目标。

Nmap 命令文档

nmap -h

英文

Nmap 7.80 ( https://nmap.org )
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.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-sn: Ping Scan - disable port scan-Pn: Treat all hosts as online -- skip host discovery-PS/PA/PU/PY[portlist]: TCP SYN/ACK, UDP or SCTP discovery to given ports-PE/PP/PM: ICMP echo, timestamp, and netmask request discovery probes-PO[protocol list]: IP Protocol Ping-n/-R: Never do DNS resolution/Always resolve [default: sometimes]--dns-servers <serv1[,serv2],...>: Specify custom DNS servers--system-dns: Use OS's DNS resolver--traceroute: Trace hop path to each host
SCAN TECHNIQUES:-sS/sT/sA/sW/sM: TCP SYN/Connect()/ACK/Window/Maimon scans-sU: UDP Scan-sN/sF/sX: TCP Null, FIN, and Xmas scans--scanflags <flags>: Customize TCP scan flags-sI <zombie host[:probeport]>: Idle scan-sY/sZ: SCTP INIT/COOKIE-ECHO scans-sO: IP protocol scan-b <FTP relay host>: FTP bounce scan
PORT SPECIFICATION AND SCAN ORDER:-p <port ranges>: Only scan specified portsEx: -p22; -p1-65535; -p U:53,111,137,T:21-25,80,139,8080,S:9--exclude-ports <port ranges>: Exclude the specified ports from scanning-F: Fast mode - Scan fewer ports than the default scan-r: Scan ports consecutively - don't randomize--top-ports <number>: Scan <number> most common ports--port-ratio <ratio>: Scan ports more common than <ratio>
SERVICE/VERSION DETECTION:-sV: Probe open ports to determine service/version info--version-intensity <level>: Set from 0 (light) to 9 (try all probes)--version-light: Limit to most likely probes (intensity 2)--version-all: Try every single probe (intensity 9)--version-trace: Show detailed version scan activity (for debugging)
SCRIPT SCAN:-sC: equivalent to --script=default--script=<Lua scripts>: <Lua scripts> is a comma separated list ofdirectories, script-files or script-categories--script-args=<n1=v1,[n2=v2,...]>: provide arguments to scripts--script-args-file=filename: provide NSE script args in a file--script-trace: Show all data sent and received--script-updatedb: Update the script database.--script-help=<Lua scripts>: Show help about scripts.<Lua scripts> is a comma-separated list of script-files orscript-categories.
OS DETECTION:-O: Enable OS detection--osscan-limit: Limit OS detection to promising targets--osscan-guess: Guess OS more aggressively
TIMING AND PERFORMANCE:Options which take <time> are in seconds, or append 'ms' (milliseconds),'s' (seconds), 'm' (minutes), or 'h' (hours) to the value (e.g. 30m).-T<0-5>: Set timing template (higher is faster)--min-hostgroup/max-hostgroup <size>: Parallel host scan group sizes--min-parallelism/max-parallelism <numprobes>: Probe parallelization--min-rtt-timeout/max-rtt-timeout/initial-rtt-timeout <time>: Specifiesprobe round trip time.--max-retries <tries>: Caps number of port scan probe retransmissions.--host-timeout <time>: Give up on target after this long--scan-delay/--max-scan-delay <time>: Adjust delay between probes--min-rate <number>: Send packets no slower than <number> per second--max-rate <number>: Send packets no faster than <number> per second
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--proxies <url1,[url2],...>: Relay connections through HTTP/SOCKS4 proxies--data <hex string>: Append a custom payload to sent packets--data-string <string>: Append a custom ASCII string to sent packets--data-length <num>: Append random data to sent packets--ip-options <options>: Send packets with specified ip options--ttl <val>: Set IP time-to-live field--spoof-mac <mac address/prefix/vendor name>: Spoof your MAC address--badsum: Send packets with a bogus TCP/UDP/SCTP checksum
OUTPUT:-oN/-oX/-oS/-oG <file>: Output scan 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 -vv or more for greater effect)-d: Increase debugging level (use -dd or more for greater effect)--reason: Display the reason a port is in a particular state--open: Only show open (or possibly open) ports--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--webxml: Reference stylesheet from Nmap.Org for more portable XML--no-stylesheet: Prevent associating of XSL stylesheet w/XML output
MISC:-6: Enable IPv6 scanning-A: Enable OS detection, version detection, script scanning, and traceroute--datadir <dirname>: Specify custom Nmap data file location--send-eth/--send-ip: Send using raw ethernet frames or IP packets--privileged: Assume that the user is fully privileged--unprivileged: Assume the user lacks raw socket privileges-V: Print version number-h: Print this help summary page.
EXAMPLES:nmap -v -A scanme.nmap.orgnmap -v -sn 192.168.0.0/16 10.0.0.0/8nmap -v -iR 10000 -Pn -p 80
SEE THE MAN PAGE (https://nmap.org/book/man.html) FOR MORE OPTIONS AND EXAMPLES

中文

Nmap 7.80 ( https://nmap.org )
用法:nmap [扫描类型] [选项] {目标指定}
目标指定:可以传递主机名、IP地址、网络等。例如:scanme.nmap.org, microsoft.com/24, 192.168.0.1; 10.0.0-255.1-254-iL <输入文件名>:从主机/网络列表中输入-iR <主机数>:随机选择目标--exclude <主机1[,主机2][,主机3],...>:排除主机/网络--excludefile <排除文件>:从文件中排除列表
主机发现:-sL:列表扫描 - 仅列出要扫描的目标-sn:Ping扫描 - 禁用端口扫描-Pn:将所有主机视为在线 - 跳过主机发现-PS/PA/PU/PY[portlist]:对给定端口进行TCP SYN/ACK, UDP或SCTP发现-PE/PP/PM:ICMP回声请求,时间戳和网络掩码请求探测-PO[协议列表]:IP协议Ping-n/-R:从不进行DNS解析/总是解析[默认:有时]--dns-servers <服务器1[,服务器2],...>:指定自定义DNS服务器--system-dns:使用操作系统的DNS解析器--traceroute:追踪到每个主机的跳点路径
扫描技术:-sS/sT/sA/sW/sM:TCP SYN/Connect()/ACK/Window/Maimon扫描-sU:UDP扫描-sN/sF/sX:TCP Null, FIN, 和 Xmas扫描--scanflags <标志>:自定义TCP扫描标志-sI <僵尸主机[:探测端口]>:空闲扫描-sY/sZ:SCTP INIT/COOKIE-ECHO扫描-sO:IP协议扫描-b <FTP中继主机>:FTP弹跳扫描
端口规范和扫描顺序:-p <端口范围>:仅扫描指定端口例如:-p22; -p1-65535; -p U:53,111,137,T:21-25,80,139,8080,S:9--exclude-ports <端口范围>:从扫描中排除指定端口-F:快速模式 - 扫描的端口少于默认扫描-r:连续扫描端口 - 不随机化--top-ports <数字>:扫描最常见的<数字>个端口--port-ratio <比率>:扫描比<比率>更常见的端口
服务/版本检测:-sV:探测开放端口以确定服务/版本信息--version-intensity <级别>:从0(轻量)到9(尝试所有探针)设置--version-light:限制最可能的探针(强度2--version-all:尝试每一个探针(强度9--version-trace:显示详细的版本扫描活动(用于调试)
脚本扫描:-sC:相当于 --script=default--script=<Lua脚本><Lua脚本>是一个以逗号分隔的目录、脚本文件或脚本类别列表--script-args=<n1=v1,[n2=v2,...]>:向脚本提供参数--script-args-file=filename:在文件中提供NSE脚本参数--script-trace:显示发送和接收的所有数据--script-updatedb:更新脚本数据库。--script-help=<Lua脚本>:显示关于脚本的帮助。<Lua脚本>是一个以逗号分隔的脚本文件或脚本类别列表。
操作系统检测:-O:启用操作系统检测--osscan-limit:将操作系统检测限制为有希望的目标--osscan-guess:更积极地猜测操作系统
计时和性能:接受<time>的选项单位是秒,或者在数值后面添加'ms'(毫秒)、's'(秒)、'm'(分钟)或'h'(小时),例如30m。-T<0-5>:设置计时模板(数字越大速度越快)--min-hostgroup/max-hostgroup <size>:并行主机扫描组的大小--min-parallelism/max-parallelism <numprobes>:探针并行化--min-rtt-timeout/max-rtt-timeout/initial-rtt-timeout <time>:指定探针往返时间。--max-retries <tries>:限制端口扫描探针重传的次数。--host-timeout <time>:在这段时间后放弃目标主机--scan-delay/--max-scan-delay <time>:调整探针之间的延迟--min-rate <number>:发送包的速度不低于每秒<number>--max-rate <number>:发送包的速度不高于每秒<number>个
防火墙/IDS规避与伪装:-f; --mtu <val>:分片数据包(可选择给定MTU)-D <decoy1,decoy2[,ME],...>:使用诱饵隐藏扫描-S <IP_Address>:伪造源地址-e <iface>:使用指定接口-g/--source-port <portnum>:使用指定端口号--proxies <url1,[url2],...>:通过HTTP/SOCKS4代理转发连接--data <hex string>:向发送的数据包附加自定义有效载荷--data-string <string>:向发送的数据包附加自定义ASCII字符串--data-length <num>:向发送的数据包附加随机数据--ip-options <options>:发送带有指定IP选项的数据包--ttl <val>:设置IP生存时间字段--spoof-mac <mac address/prefix/vendor name>:伪造您的MAC地址--badsum:发送带有错误的TCP/UDP/SCTP校验和的数据包
输出:-oN/-oX/-oS/-oG <file>:分别以普通、XML、s|<rIpt kIddi3、可搜索格式输出扫描结果到指定文件名。-oA <basename>:同时以三种主要格式输出-v:提高详细等级(使用-vv或更多获得更大效果)-d:提高调试等级(使用-dd或更多获得更大效果)--reason:显示端口处于特定状态的原因--open:仅显示开放的(或可能开放的)端口--packet-trace:显示所有发送和接收的数据包--iflist:打印主机接口和路由(用于调试)--append-output:附加到指定的输出文件而不是覆盖--resume <filename>:恢复中断的扫描--stylesheet <path/URL>:XSL样式表将XML输出转换为HTML--webxml:引用Nmap.Org的样式表以获得更便携的XML--no-stylesheet:阻止将XSL样式表与XML输出关联
杂项:-6:启用IPv6扫描-A:启用操作系统检测、版本检测、脚本扫描和路由追踪--datadir <dirname>:指定自定义Nmap数据文件位置--send-eth/--send-ip:使用原始以太网帧或IP数据包发送--privileged:假设用户具有完全权限--unprivileged:假设用户缺乏原始套接字权限-V:打印版本号-h:打印此帮助摘要页面。
示例:nmap -v -A scanme.nmap.orgnmap -v -sn 192.168.0.0/16 10.0.0.0/8nmap -v -iR 10000 -Pn -p 80
查看手册页(https://nmap.org/book/man.html)了解更多选项和示例

主机发现

Ping 扫描

Ping 扫描用于确定哪些主机正在响应 ICMP 请求,示例如下:

nmap -sn 192.168.1.0/24

这将对 192.168.1.x 的所有地址执行 Ping 扫描,其中 x 是从 0 到 255 的任意值。

在这里插入图片描述

也可以对单个地址扫描:

nmap -sn 192.168.1.116

在这里插入图片描述

ARP 扫描

局域网中,ARP(地址解析协议)扫描通常比标准 ICMP ping 更有效,命令如下:

nmap -PR 192.168.1.0/24

在这里插入图片描述

对单个地址扫描:

nmap -PR 192.168.1.116

在这里插入图片描述

关于nmap -PR(ARP Ping Scan)和nmap -Pn(No Ping Scan)

在Nmap中,-PR-Pn 是两个不同的扫描选项,它们用于不同的场景:

-PR ARP Ping Scan

-PR 选项告诉Nmap使用ARP请求来确定本地网络上的主机是否活跃。这种方法非常适合局域网内部,因为ARP请求无法跨过路由器,所以它只对本地子网有效。当想确认本地网络(同一广播域)中某个IP地址是否被占用时,使用-PR是合适的。

如果尝试对一个响应ARP但是不响应ICMP的设备进行-PR扫描,且结果显示"Host seems down",可能是因为该设备设置了防火墙规则来忽略或阻止ARP请求,或者Nmap没有正确地发送或接收ARP回应。这种情况下,可能需要检查你的网络设置或该设备的安全配置。

-Pn No Ping Scan

-Pn 选项告诉Nmap跳过发现阶段,直接执行端口扫描等后续操作。它假定目标主机是活跃的,不会先检测主机是否在线。这个选项适用于目标主机可能屏蔽了所有类型的ping探针(包括ICMP、ARP、TCP和UDP)的情况。

当使用-Pn选项时,即使目标主机关闭了对ICMP、ARP等探针的响应,Nmap也会尝试连接目标主机的端口来判断其在线状态。这种方法适用于任何网络环境,包括本地网络和跨越路由器的远程网络。

示例
nmap -Pn 192.168.1.215

此命令将对IP地址192.168.1.215执行扫描,不管目标主机是否响应任何形式的探针。

总结

如果确定是在本地网络上,并且知道目标主机可能会响应ARP请求,则使用-PR是合理的。如果-PR报告说主机看起来已经关闭,而怀疑主机实际上是开着的并且可能只是屏蔽了ARP请求,那么你可以尝试使用-Pn来绕过主机发现阶段,直接进行端口扫描。这样,即使ARP发现失败,仍然有机会通过观察端口的响应来确定主机是否在线。

端口扫描

常见的端口扫描类型

  • -sT:TCP 连接扫描
  • -sS:SYN 扫描
  • -sU:UDP 扫描
  • -sA:ACK 扫描
  • -sN-sF-sX:NULL、FIN 和 Xmas 扫描
  • -sP:不扫描端口

示例:SYN 扫描

SYN 扫描是最流行的扫描类型,因为它快速且在网络上的隐蔽性较高:

nmap -sS 192.168.1.1

这将对 IP 地址为 192.168.1.1 的主机执行 SYN 扫描。

在这里插入图片描述

服务版本检测

使用 -sV 参数启动服务版本检测:

nmap -sV 192.168.1.1

这会对目标主机进行端口扫描,并尝试确定每个开放端口上运行的服务及其版本。

在这里插入图片描述

OS 指纹识别

OS 指纹识别可以通过 -O 参数启动:

nmap -O 192.168.1.1

这将提供关于目标主机操作系统的猜测。

在这里插入图片描述
在这里插入图片描述

使用 Nmap 脚本引擎 (NSE)

Nmap 具有广泛的脚本库,可用于进行更复杂的网络探测。运行特定的脚本,可以使用 --script 参数:

nmap --script=http-title 192.168.1.1

这将运行 http-title 脚本,该脚本会抓取 HTTP 服务的标题。

输出和报告

Nmap 支持多种输出格式,包括普通文本、XML 和 grepable 格式。

文本输出

默认情况下,Nmap 以文本形式输出到控制台。

XML 输出

XML 输出可以被许多其他工具用于进一步处理,命令如下:

nmap -oX output.xml 192.168.1.1

Grepable 输出

Grepable 格式便于使用文本处理工具如 grep 进行搜索,命令如下:

nmap -oG output.grep 192.168.1.1

高级技术

防火墙绕过

某些 Nmap 扫描技术可用于绕过防火墙,例如碎片扫描(-f)或者自定义 MTU(--mtu)。

时间和性能

调整扫描速度与准确性之间的平衡,可以使用 -T 选项,它接受从 0(最慢)到 5(最快)的值。

脚本参数

向 NSE 脚本传递参数可以使用 --script-args 选项,这样可以定制脚本的行为。

安全性和合法性

使用 Nmap 进行扫描时,必须遵守当地法律和政策。未经授权扫描他人网络或设备可能违反法律。

结语

Nmap 是网络管理员和安全专家的重要工具。它的灵活性和强大功能使其成为评估网络安全状态的理想选择。正确使用 Nmap 可以帮助识别和缓解网络安全风险。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/203974.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Unity 关于生命周期函数的一些认识

Unity 生命周期函数主要有以下一些&#xff1a; Awake(): 在脚本被加载时调用。用于初始化对象的状态和引用。 OnEnable(): 在脚本组件被启用时调用。在脚本组件被激活时执行一次&#xff0c;以及在脚本组件被重新激活时执行。 Reset(): 在脚本组件被重置时调用。用于重置脚本…

卷积神经网络(CNN)识别验证码

文章目录 一、前言二、前期工作1. 设置GPU&#xff08;如果使用的是CPU可以忽略这步&#xff09;2. 导入数据3. 查看数据4.标签数字化 二、构建一个tf.data.Dataset1.预处理函数2.加载数据3.配置数据 三、搭建网络模型四、编译五、训练六、模型评估七、保存和加载模型八、预测 …

Windows下Linkis1.5DSS1.1.2本地调试

1 Linkis: 参考&#xff1a; 单机部署 | Apache Linkis技术分享 | 在本地开发调试Linkis的源码 (qq.com)DataSphere Studio1.0本地调试开发指南 - 掘金 (juejin.cn) 1.1 后端编译 参考【后端编译 | Apache Linkis】】 修改linkis模块下pom.xml,将mysql.connetor.scope修改…

基于命令行模式设计退款请求处理

前言 这篇文章的业务背景是基于我的另一篇文章: 对接苹果支付退款退单接口-CSDN博客 然后就是说设计模式是很开放的东西,可能我觉得合适,你可能觉得不合适,这里只是做下讨论,没有一定要各位同意的意思.... 相关图文件 这里我先把相关的图文件放上来,可能看着会比较清晰点 代码逻…

从零开始的c语言日记day37——数组指针练习

一、 取地址数组储存在了*p里&#xff0c;里面储存的是整个数组的地址但本质也是第一个元素的地址解引用后1为4个字节所以就可以打印数组了。但一般不用这种方法 这样更方便一些 打印多维数组 如果不用这样传参&#xff0c;用指针传参怎么做呢&#xff1f; Main里函数的arr表示…

第1章 爬虫基础

目录 1. HTTP 基本原理1.1 URI 和 URL1.2 HTTP 和 HTTPS1.3 请求1.3.1 请求方法1.3.2 请求的网址1.3.3 请求头1.3.4 请求体 1.4 响应1.4.1 响应状态码1.4.2 响应头1.4.3 响应体 2. Web 网页基础2.1 网页的组成2.1.1 HTML2.1.2 CSS2.1.3 JavaScript 2.2 网页的结构2.3 节点树及节…

windows上 adb devices有设备 wsl上没有

终于解决了&#xff01;&#xff01;&#xff01;&#xff01; TAT&#xff0c;尝试了很多种办法。 比如WSL中的adb和Windows中的adb版本必须一致&#xff0c;一致也没用&#xff0c;比如使用 ln 建立链接也没用。 这个解决办法的前提是windows中的abd是好用的。 ●在windows…

JSP:JDBC

JDBC&#xff08;Java Data Base Connectivity的缩写&#xff09;是Java程序操作数据库的API&#xff0c;也是Java程序与数据库相交互的一门技术。 JDBC是Java操作数据库的规范&#xff0c;由一组用Java语言编写的类和接口组成&#xff0c;它对数据库的操作提供基本方法&#…

anaconda换源安装pytorch(附带bug解决办法)

1.安装anaconda 如何安装anaconda可以看这篇文章:如何安装anaconda 2.换源安装pytorch: 首先进入到pytorch官网&#xff0c;选对好参数之后复制命令进入到anaconda prompt即可: 然后进入自己的环境之后输入该命令(即conda install …)&#xff0c;则可以进行下载。下载完成…

pandas教程:USDA Food Database USDA食品数据库

文章目录 14.4 USDA Food Database&#xff08;美国农业部食品数据库&#xff09; 14.4 USDA Food Database&#xff08;美国农业部食品数据库&#xff09; 这个数据是关于食物营养成分的。存储格式是JSON&#xff0c;看起来像这样&#xff1a; {"id": 21441, &quo…

入侵redis之准备---Linux关于定时任务crontab相关知识了解配合理解shell反弹远程控制

入侵redis之准备—Linux关于定时任务crontab相关知识了解配合理解shell反弹远程控制 几点需要知道的信息 【1】crontab一般来说服务器都是有的&#xff0c;依赖crond服务&#xff0c;这个服务也是必须安装的服务&#xff0c;并且也是开机自启动的服务&#xff0c;也就是说&…

C语言做一个恶作剧关机程序

一、项目介绍 C语言实现一个简单的"流氓软件"&#xff0c;一个可以强制关机恶作剧关机程序&#xff0c;输入指定指令可以解除 二、运行截图 然后当你输入“n”才可以解锁关机。 三、完整源码 #include <stdlib.h> #include <stdio.h> #include <s…

机器学习8:在病马数据集上进行算法比较(ROC曲线与AUC)

ROC曲线与AUC。使用不同的迭代次数&#xff08;基模型数量&#xff09;进行 Adaboost 模型训练&#xff0c;并记录每个模型的真阳性率和假阳性率&#xff0c;并绘制每个模型对应的 ROC 曲线&#xff0c;比较模型性能&#xff0c;输出 AUC 值最高的模型的迭代次数和 ROC 曲线。 …

【传智杯】儒略历、评委打分、萝卜数据库题解

&#x1f34e; 博客主页&#xff1a;&#x1f319;披星戴月的贾维斯 &#x1f34e; 欢迎关注&#xff1a;&#x1f44d;点赞&#x1f343;收藏&#x1f525;留言 &#x1f347;系列专栏&#xff1a;&#x1f319; 蓝桥杯 &#x1f319;请不要相信胜利就像山坡上的蒲公英一样唾手…

Vue框架学习笔记——事件scroll和wheel的区别

文章目录 前文提要滚动条滚动事件 scroll鼠标滚动事件 wheel二者不同点 前文提要 本人仅做个人学习记录&#xff0c;如有错误&#xff0c;请多包涵 滚动条滚动事件 scroll scroll事件绑定html页面中的指定滚动条&#xff0c;无论你拖拽滚动条&#xff0c;选中滚动条之后按键盘…

【深度学习】CNN中pooling层的作用

1、pooling是在卷积网络&#xff08;CNN&#xff09;中一般在卷积层&#xff08;conv&#xff09;之后使用的特征提取层&#xff0c;使用pooling技术将卷积层后得到的小邻域内的特征点整合得到新的特征。一方面防止无用参数增加时间复杂度&#xff0c;一方面增加了特征的整合度…

揭秘周杰伦《最伟大的作品》MV,绝美UI配色方案竟然藏在这里

色彩在UI设计的基本框架中占据着举足轻重的位置。实际上&#xff0c;精心挑选和组合的色彩配色&#xff0c;往往就是UI设计成功的不二法门。在打造出一个实用的UI配色方案过程中&#xff0c;我们需要有坚实的色彩理论知识&#xff0c;同时还需要擅于从生活中观察和提取灵感。以…

C++进阶篇5---番外-位图和布隆过滤器

哈希的应用 一、位图 情景&#xff1a;给40亿个不重复的无符号整数&#xff0c;没排过序。给一个无符号整数&#xff0c;如何快速判断一个数是否在这40亿个数中&#xff1f;&#xff1f;&#xff1f; 看到查找元素的范围&#xff0c;暴力肯定是过不了的&#xff0c;我们要么…

windows搭建gitlab教程

1.安装gitlab 说明&#xff1a;由于公司都是windows服务器&#xff0c;这里安装以windows为例&#xff0c;先安装一个虚拟机&#xff0c;然后安装一个docker&#xff08;前提条件&#xff09; 1.1搜索镜像 docker search gitlab #搜索所有的docker search gitlab-ce-zh #搜索…

【OpenCV实现图像:使用OpenCV进行物体轮廓排序】

文章目录 概要读取图像获取轮廓轮廓排序小结 概要 在图像处理中&#xff0c;经常需要进行与物体轮廓相关的操作&#xff0c;比如计算目标轮廓的周长、面积等。为了获取目标轮廓的信息&#xff0c;通常使用OpenCV的findContours函数。然而&#xff0c;一旦获得轮廓信息后&#…