学习黑客 MAC 地址深入了解
在江湖之中,每位少侠既有“门派”加身,也需持有“令牌”通行。MAC地址便是我被师门铁订在骨血里的“先天武功心法”,铸于出厂之时,终身不变,只有破阵高手才能暗度陈仓才能改写;而IP地址则是我行走江湖的“后天轻功令牌”,可随着武林盟约或山河格局随时更换位置,分配与收回皆在掌门(DHCP)或部族长老(网络管理员)一念之间。
- 先天与后天:MAC地址如同家传绝学,一经刻录便烙印于血脉之中;要想易名改籍,必须突破重重禁制,动用罕见暗器方可一朝改命。IP地址犹如轻功令牌,只要凭盟约(配置)或拜入他门(重连网络),即可换上新牌,无需炼丹换骨。
- 分配门庭:MAC地址由IEEE门派统发极品心法卷轴,确保天下唯我独尊;IP地址则由盟中掌管网络事务的长老,或DHCP府衙发放,谁得令牌即可入网行走。
- 出手范围:MAC地址掌控的乃是一域(局域网)内的掌门秘闻,只能在本派擂台(同一网段)挥洒绝学;IP地址则撑起万里江湖,无论跨海越山,只要有路由之道,皆可寄信辗转抵达。
- 内功篇幅:MAC地址心法有六招(48位),每招两爻(8位),合共六脉相连;IP地址轻功仅四式(32位),分为点穴式(点分十进制),四穴对应四段。
- 论层次:MAC地址施展之处在“骨骼层面”(数据链路层),源于血肉之躯,负责帧与帧之间的精准对接;IP地址则游走于“筋脉层面”(网络层),掌握跨门派的行走法门,指引每一封书信如何经由重重路由而至。
- 双刃暗器:一器可挂多重IP轻功秘籍,却仅能承一脉MAC心法;当IP需识骨寻脉时,便调动ARP暗器,将那轻功令牌映射回我血脉深处的先天绝学。
于此,少侠当知:无论先天心法还是后天轻功,只要内外合一,方能在网海江湖中自由纵横,不惧万水千山。
以下一节,我依然以江湖武学的笔法,拆解MAC 地址的组成部分:它的表现形式、编号空间与唯一性如何构成“先天心法”。在开始之前,先概览要点:
- 表示形式:六式十六进制连环掌法,可通过冒号、连字符或暗纹直贴表征;
- 编号空间:分为 EUI-48(旧称 MAC-48)与 EUI-64 两派,由 IEEE 宗门掌管;
- 唯一性:同一网络中每位战士必持绝学心法,跨网段则可“借名”闯荡。
表示形式:六式连环掌
在IEEE武典里,我的真传共有 六式(48 位,即 6 字节),每式分作两招(两位十六进制)连绵不绝。
- 六式掌:通常以
00:1A:2B:3C:4D:5E
之形示人,每两招之间可用冒号、连字符,甚至将六式一鼓成一体001A2B3C4D5E
。 - 烧录真传:此心法通常被称作“烧录地址”或“物理地址”,刻录于网卡ROM或固件之中,需破阵暗器方可重写。
编号空间:EUI-48 与 EUI-64 两派
我出自IEEE的注册神器(Registration Authority),遵循 EUI-48(即旧称 MAC-48)和 EUI-64 两大编号空间的法则。
- EUI-48:当前链路层的主流心法,原本容量为2⁴⁸种可能,源自 Xerox 以太网寻址方案,一度是江湖绝学。
- EUI-64:增拓心法,以额外16位扩展,令全球可承纳2⁶⁴弱弱可数倍心法门派,适合大厂深度定制大批量设备。
- 分派机制:IEEE按“MA-L/MA-M/MA-S”三种级别发放心法卷轴(OUI-24、OUI-28、OUI-36),给厂商铭刻前24–36位,再由厂商续写剩余“家传秘令”。
唯一性:先天无双 vs 借名行走
在同一片战场(局域网)上,每位武士必须各持一部真传,无论是多层交换机还是路由器,都需为其下每个接口各自印刻独一无二的心法。
- 先天无双:同一子网内绝不重号,确保交换机凭“心法门谱”(MAC表)精准落招。
- 借名行走:若两位侠客身处异地(不同网段),可临时借用同一心法闯荡,借助 ARP 或 NDP 暗器完成真实身份映射。
小结
MAC 地址这部“先天心法”由「六式连环掌」组成,承载了 IEEE 宗门的EUI-48与EUI-64秘籍,并在局域网中以绝无仅有的方式标识每一位网络侠客。下节将引领你深入“ARP 探穴”,看这先天心法如何与 IP 轻功令牌互映,完成网络江湖的生死交付。
分派心法:MAC 地址的分配规则
在IEEE宗门的Registration Authority大殿中,我的分派法门由两大编号空间——EUI-48与EUI-64——承载,目标守护百年(至2080年)不绝(Wikipedia)。
三大心法门户:MA-L、MA-M 与 MA-S
- MA-L(MAC Address Block Large):乃大师级心法,先授OUI(组织唯一标识符),再附予庞大EUI-48与EUI-64弟子簿,共计2²⁴条传承脉络,可衍生逾一千万设备之号令(IEEE Standards Association, IEEE Standards Association)。
- MA-M(MAC Address Block Medium):中阶心法,授予中量级EUI-48(2²⁰)及EUI-64(2³⁶)卷轴,首24位为OUI,后20/36位由门门自定,适合规模有限的独门家族(IEEE Standards Association, IEEE Standards Association)。
- MA-S(MAC Address Block Small):小宗心法,以OUI-36(又称IAB)为基石,仅展放2¹²条EUI-48与2²⁸条EUI-64配方,多用于专属小众应用(IEEE Standards Association)。
申请与使用守则
- 使用比例考验:宗门规条要求,心法传承者须先耗尽现有MA-L或MA-M心法95%,方可申请新卷(IEEE Standards Association)。
- 共享与分级:同属一系母公司与子门派可共享MA-L呈授;但每位分支弟子(网络接口)在同一江湖(子网)中,须持有各自心法,确保不生混乱(IEEE Standards Association)。
- 跨网借用:若侠客跨门派闯荡,连接于不同网络的两接口可“借用”同一先天心法,只要不在同一战场比武,即无冲突之虞(Wikipedia)。
号令千军:编号空间意义
- EUI-48:原名MAC-48,因“MAC-48”一词逐渐废弃,现通称EUI-48,用于所有802网络与蓝牙等诸多分支(Wikipedia)。
- EUI-64:心法奥义,扩充16位,号称“非以太网应用”之更大宝库,IEEE鼓励在物联网和其他领域广泛采纳(Wikipedia)。
由此,我的分派犹如武林中“传功授业”:掌门(IEEE RA)先颁发心法(MA-L/MA-M/MA-S),门派(厂商)再延续传承(device-specific bits),以确保每位侠客(网络接口)在江湖(局域网)中独步无双。
在网络江湖中,我——MAC 地址,肩负着多重职责,既是链路层的绝世令牌,也是安全与管理的暗器利刃。以下综述我的五大要诀:
- 唯一标识:凭我之名,网路交换机与网卡“知人识面”,确保每一帧精准抵达(Portnox)。
- 定向传输:作为数据链路层的“狙击镜”,我在同一网段内指引帧在端口间“逐跳传送”(GeeksforGeeks)。
- 安全利器:静态绑定MAC可筑起链路防线,防止伪装者混迹,守护网络边界(LinkedIn)。
- 管理审计:网管高手通过MAC查访身世,识别设备行踪,排除隐患(hoop.dev)。
- 映射桥梁:在ARP/NDP秘术下,我与IP轻功令牌互为映射,助“寻址轻功”跨网段施展(Wikipedia)。
唯一标识:链路层的“绝世令牌”
MAC 地址是物理网卡的先天心法,为每个网络接口分配一个全球唯一的标识,离开此令牌,数据帧无从落脚(Portnox)。凭借这道绝世令牌,交换机可在其MAC表中迅速定位目标端口,直达所需目的地,不误一帧(GeeksforGeeks)。
定向传输:精准落袭的“狙击镜”
在繁杂的局域网中,MAC 地址宛如狙击镜,为每一帧提供“逐跳传送”能力,确保“发→收”两点之间的链路层传递万无一失(LicenseSpring)。每当帧抵达交换机时,我在帧头的源与目标地址中昭告天下:该往谁家送信,不走冤枉路(krazytech.com)。
安全利器:链路层的“暗器利刃”
通过静态MAC绑定,可将MAC令牌与交换机端口绑定成“陷阱”,若有伪装者携假令牌上阵,陷阱即会触发并锁定,保障网络不被恶徒入侵(LinkedIn)。此暗器乃企业级网络的常见防御手段,令未授权设备难以潜伏(Lark)。
管理审计:高手的“旁门暗访”
网络管理员可借助MAC定位工具,洞悉江湖中每位设备行踪,从而进行故障排查与流量监控。借此,管理者能精准识别带宽占用异动或潜在异常设备,及时出手化解隐患(hoop.dev)。
映射桥梁:ARP/NDP的牵线桥
在IPv4与IPv6的江湖中,IP轻功令牌需通过ARP或邻居发现(NDP)秘术,询问我的血脉(MAC)方能得以施展分层传输。当“Who has 192.168.1.10?”之术式发出,我即以“我即是192.168.1.10,令牌为XX:XX:XX:XX:XX:XX”回礼,使IP令牌得以化身数据链路,完成跨层通信(Wikipedia)。
凭此“五诀”,我在链路层中固守孤城,执掌数据帧的生死大权,亦为网络安全与管理的神秘利器。认识并运用我的力量,方能在网络江湖中无往不利。
以下内容以实战手法展示如何在主流操作系统中快速查 MAC 地址,涵盖命令行与图形界面两类方法。
📋 一览要点
- Windows 命令行:使用
ipconfig /all
或getmac
查看所有网卡的物理地址。 - Windows 网络中心(GUI):通过“网络和共享中心”→“更改适配器设置”→“状态”→“详细信息”查物理地址。
- Linux 命令行:用
ip link
或ifconfig
列出接口和对应的 MAC 地址。 - macOS 命令行:运行
networksetup -listallhardwareports
或ifconfig
查看。 - macOS 图形界面:系统偏好设置→网络→高级→硬件标签页直观查看。
🖥️ Windows 平台
Windows CMD 查看
-
右击“开始”菜单,选择“Windows PowerShell (管理员)”或“命令提示符(管理员)”。
-
输入:
ipconfig /all
并回车,输出中“物理地址(Physical Address)”即为该接口 MAC 地址 (Super User)。
-
或者输入:
getmac /v
仅列出各接口的 MAC;在“物理地址”栏查阅即可 (Dell)。
Windows GUI 查看
- 单击任务栏右下角网络图标,选择“网络和 Internet 设置”,再点“网络和共享中心”。
- 点击左侧“更改适配器设置”,在弹出的窗口里找到对应的以太网或无线连接,右键→“状态”→“详细信息”。
- 在“网络连接详细信息”对话框中,查找“物理地址”字段,即为该接口的 MAC 地址 (Brown IT Help)。
🐧 Linux 平台
Shell 查看
-
推荐使用:
ip link show
输出中
link/ether
后即为 MAC 地址。 -
若系统自带
ifconfig
,亦可:ifconfig -a
在各接口条目下的
ether
或HWaddr
字段查阅 MAC (Brown IT Help)。
🍎 macOS 平台
Terminal 查看
-
方法A:
networksetup -listallhardwareports
将列出所有“硬件端口”及其“Ethernet Address(MAC)” (Stack Overflow)。
-
方法B:
ifconfig
在
en0
/en1
等接口条目中,ether
后即为 MAC 地址 (Brown IT Help)。
系统偏好设置 查看
- 打开 菜单 → 系统偏好设置 → 网络。
- 选择左侧的 Wi-Fi 或以太网服务,点击“高级…”
- 切换到“硬件”标签页,即可看到“MAC 地址”一栏 (macaddress.io)。
通过以上几种命令行与图形界面方法,无论是在 Windows、Linux 还是 macOS,您都能在数秒内定位到设备的 MAC 地址,用于网络排障、设备绑定或安全审计。
在网络世界中,MAC 地址如同设备的**“指纹”**——虽然刻录在硬件中,但在特殊场景下,我们也可为它“变相传功”,以实现隐私保护、故障排查或跨网接入等需求。下文将从修改动机、注意事项,到 Windows、Linux、macOS 三大平台的临时与永久修改方法,全面揭示 MAC 地址修改的武学秘籍。
🔍 一、为何要修改 MAC 地址
- 绕过访问控制:部分网络(如公司或校园网)会基于 MAC 白名单放行设备,改号后可借机上网 (CableLabs)。
- 隐私与匿名:在公共 Wi-Fi 环境下,随机或定期更换 MAC 可以防止被长时间跟踪 (CableLabs)。
- 解决冲突:当两台设备意外拥有相同 MAC 导致网络故障时,可临时重置以避冲 (Reddit)。
注意:乱用此招可能触及网络安全策略或引发连通故障,请务必在合法且必要时谨慎操作。
⚠️ 二、修改前的防御性准备
- 备份原始 MAC:记录原物理地址,遇问题能“招式回炉”。
- 获取管理员权限:改写受限于系统或驱动高级属性,需以管理员/超级用户身份执行。
- 验证网卡驱动支持:部分网卡厂商禁用了 “Network Address” 属性,需先确认 (微软学习)。
- 重启或重启网卡:修改后往往需要重启系统或断开再重连网络以生效。
🪟 三、在 Windows 上修改 MAC 地址
3.1 临时修改(注册表/PowerShell)
-
打开管理员 PowerShell,输入:
getmac -v
查找目标网卡的 Name 与 Physical Address (Super User)。
-
修改 Registry 中的
NetworkAddress
:Set-NetAdapterAdvancedProperty -Name "<适配器名>" `-RegistryKeyword "NetworkAddress" `-RegistryValue "AABBCCDDEEFF"
其中
AABBCCDDEEFF
为新 MAC(12位十六进制,无分隔符)(Super User)。 -
重新启用网卡:
Disable-NetAdapter -Name "<适配器名>" -Confirm:$false Enable-NetAdapter -Name "<适配器名>"
或者重启电脑以确保生效。
3.2 GUI 永久修改(设备管理器)
- 右键“此电脑”→“管理”→“设备管理器”,展开“网络适配器”。
- 右键目标适配器→“属性”→“高级”选项卡→选择“Network Address”。
- 在“值”框输入新 MAC(如
AABBCCDDEEFF
)→“确定”并重启网卡 (微软学习)。
🐧 四、在 Linux 上修改 MAC 地址
4.1 临时修改(ip link)
# 下线网卡
sudo ip link set dev eth0 down
# 设置新 MAC
sudo ip link set dev eth0 address 02:01:02:03:04:08
# 上线网卡
sudo ip link set dev eth0 up
命令执行后,新 MAC 立即生效,但重启或重连后会还原 (Baeldung)。
4.2 使用 macchanger 工具
# 安装 macchanger
sudo apt-get install macchanger # Debian/Ubuntu
# 查看当前 MAC
macchanger -s eth0
# 随机更换
sudo macchanger -r eth0
# 恢复原厂
sudo macchanger -p eth0
macchanger
支持随机或指定地址,更加便捷 (Arch Wiki)。
4.3 永久生效
-
Debian/Ubuntu (/etc/network/interfaces)
在iface eth0 inet dhcp
段内添加:hwaddress ether 02:01:02:03:04:08
下次
ifup eth0
或系统重启后自动应用 (Unix & Linux Stack Exchange)。 -
NetworkManager(/etc/NetworkManager/)
在相应连接配置中加入:[connection] cloned-mac-address=02:01:02:03:04:08
重启
NetworkManager
或重新连接后生效。
🍎 五、在 macOS 上修改 MAC 地址
5.1 临时修改(ifconfig)
-
断开当前 Wi-Fi:
sudo ifconfig en0 down
-
设置新 MAC:
sudo ifconfig en0 ether 02:01:02:03:04:08
-
重连接口:
sudo ifconfig en0 up
注意:macOS 重启或断电后会恢复原厂地址 (Tom’s Guide)。
5.2 启动时自动执行
使用 SpoofMAC
脚本,或在 /Library/LaunchDaemons/
下创建 plist 文件,将上述 ifconfig
命令设为开机启动,即可实现开机隐匿 (GitHub)。
✅ 六、验证修改结果
-
Windows:
getmac /v
-
Linux:
ip link show eth0 | grep ether
-
macOS:
ifconfig en0 | grep ether
确认输出中的 MAC 已更换为目标值,才算修改成功。
🔗 七、常见风险与最佳实践
- 连通性故障:部分网络基于 MAC 过滤,擅自更改可能被踢出网 (Reddit)。
- 法律合规:企业或公共网络可能禁止私自篡改 MAC,需遵守当地政策与条款。
- 安全审计:修改后请记录新旧MAC对应关系,以便故障排查与日志核对。
通过本文所授的临时与永久秘籍,无论在 Windows、Linux 还是 macOS 上,你都能驾驭 MAC 地址的易名术。在必要场景中灵活变更,同时保持对原厂令牌的敬畏,以免误入网络断层之险。
讨论MAC地址冲突
-
先天心法相撞:MAC地址唯一性
在网络江湖中,MAC地址的唯一性是双方对决的关键。争夺同一地址的设备,正如两位武者都想占据独门秘籍。 -
单播泛洪:无门逐帧
当交换机遇到未知单播地址时,会将其泛洪,仿佛所有武林高手都朝一个方向发起进攻。 -
多播寻址:群侠共聚
多播寻址让数据同时传送到多个接收者,犹如群侠聚集一堂,共同出手。 -
MAC洪水:恶徒攻陷
地址冲突导致的MAC洪水就像是网络中的恶徒,占据资源,扰乱正常秩序。 -
化解冲突:隔离与锁定
通过网络隔离和锁定MAC地址,可以有效避免冲突,对抗那些混乱的攻击,恢复网络的清明。
在网络江湖中,MAC 地址冲突犹如两位侠士同时持有同一部「先天心法」,江湖秩序顿时紊乱,无处落脚。以下四大要诀,带你在链路层的武林中化解此道危机。
一、心法无双:唯一性守护
在OSI第二层,IEEE宗门授予每位NIC一部独门心法(EUI-48/EUI-64),三段OUI与后三段厂商自定,共同确保在同一子网中绝无重号,任何两位侠士不得共用一部心法(IEEE Standards Association)。
例外:若侠士行走于不同网络(不同广播域),可暂“借名行走”,彼此心法虽同,但不在同一擂台,无碍于无形之中(Wikipedia – Die freie Enzyklopädie)。
二、单播泛洪:无门逐帧
当交换机这座擂台尚未习得某位侠客的心法时,对应单播帧便会一齐泛洪四方,各端口皆可见,唯有真传心法匹配者方可接招,其余悉数弃之——此即“未知单播泛洪”(Wikipedia)。
后果:短期虽不阻断通路,但频繁泛洪易致网络带宽耗尽,甚至引发更深层的洪水式攻击(LinkedIn)。
三、多播寻址:群侠共聚
江湖上亦有群侠大会之时,首字节低位置“1”即成多播令牌,所有持此令牌的群侠方能响应。交换机(或桥接器)将此类帧定向广播至接受名单,确保心法合拍者共襄盛宴(Wikipedia)。
要诀:可在交换机上配置多播过滤表,仅允授权群侠入场,防止旁门左道乘机潜入。
四、MAC 洪水:恶徒攻陷
恶人可自“黑市”批量伪造心法(MAC flooding),狂灌换号帧至交换机,使其MAC表被填满,合法侠客之心法被踢出,交换机遂对所有帧泛洪,令暗器(数据)四散流窜,机密尽曝(Wikipedia)。
化解:启用“端口安全”护盾,限量学习入门心法;或配置ACL/私有VLAN以隔离未授权流量,阻断洪水入侵。
五、化解冲突:修炼与隔离
- VLAN切分:将不同侠客分置“群落”之中(VLAN),隔断同心法误入同擂之弊(Network Engineering Stack Exchange)。
- 静态绑定:于交换机端口与心法一一对应(MAC-to-port binding),一旦对手心法异动即刻断网,杜绝捣乱(Peplink Community)。
- 监控告警:部署MAC冲突检测工具,实时告警并定位冲突源头,快速剿灭内奸(LinkedIn)。
- 固件升级:升级交换机/路由固件,利用最新防御算法与流量隔离特性,防范新型心法攻伐。
纵观全局,唯有遵循“心法唯一→学习限量→洪水防御→分域隔离”四步大法,方能在网络江湖中行走自如,绝无MAC地址冲突之虞。辗转重重擂台,始见真章;愿君以此四诀,稳守链路层之巅。
在现代网络架构中,MAC 地址不仅仅是链路层的“姓名牌”,更在设备识别、接入控制、安全防护、虚拟化部署、物联网资产管理与流量分析等多个场景中扮演关键角色。下面分六大应用场景详细阐述。
设备识别与网络接入控制
网络访问控制(NAC)通常以MAC地址为准绳,只有白名单中的MAC才能通过交换机或无线网关入网,宛如门派弟子须持正派令牌方可进宫(hoop.dev)。通过802.1X或基于MAC的访问策略,网络管理员能够在访客或新设备初次连入时,迅速识别并执行隔离或准入决策,确保后续通信安全可靠(The Hacker Recipes)。
安全与隐私保护
由于MAC地址标识单一设备的物理网卡,静态MAC可被用于长期追踪用户行为与位置,存在隐私泄露风险(Zenarmor)。故现代操作系统纷纷引入MAC随机化功能——在Wi-Fi扫描或连接时动态更换临时MAC,有效抵御跟踪与侧信道分析(Palo Alto Networks 知识库)。在企业或公共Wi-Fi中,可结合DHCP日志,利用MAC随机化识别恶意扫描或蜂窝钓鱼。
网络虚拟化与容器化部署
在云原生与虚拟化环境中,每个虚拟机或容器网卡都需独立MAC以避免ARP冲突;KubeMacPool、Docker等平台会从预配置池中为新实例分配MAC,或依据IP映射生成伪MAC,保持网络拓扑一致性(OpenShift 文档, Stack Overflow)。应用开发者可通过参数指定MAC地址,实现对依赖特定MAC授权的遗留应用的兼容。
物联网与资产追踪
IoT设备规模庞大且分布遍布各类环境,通过扫描或监听Wi-Fi/BLE广播中的MAC地址,系统可自动识别并分类新接入设备,实现“入库即盘点”式的资产管理(Cato Networks)。在仓储、物流及零售行业,MAC地址也可结合Wi-Fi定位技术,完成低成本的室内/室外混合定位与追踪。
网络监控与流量分析
安全运维与网络规划离不开对MAC地址的监听与统计。通过SPAN端口或TAP镜像采集包头,可快速提取源/目的MAC序列,生成设备映射库并分析流量分布、异常行为和热点设备(Rapid7)。结合流量引擎,可实时监测MAC层洪泛攻击、ARP欺骗及MAC老化因素,为链路层防御提供第一手情报。
运营商与大规模地址管理
面向大规模部署(如智能城镇、工业园区),运营商或大型厂商需向IEEE申请MA-L/MA-M/MA-S心法卷轴(OUI)并规划EUI-48与EUI-64编号空间,确保未来数十年内设备注册唯一无二(Wikipedia)。知名案例如可口可乐因IoT饮料机项目而“囤积”1600万MAC编号,展示了大规模ID管理的必要性与挑战(WIRED)。
通过上述六大场景,MAC地址从“链路层标识”逐步演变为“网络安全基石”、“虚拟化和IoT管理要冲”与“大规模部署枢纽”,在网络设计、运维与安全各环节都不可或缺。
相关文章:
学习黑客 MAC 地址深入了解
在江湖之中,每位少侠既有“门派”加身,也需持有“令牌”通行。MAC地址便是我被师门铁订在骨血里的“先天武功心法”,铸于出厂之时,终身不变,只有破阵高手才能暗度陈仓才能改写;而IP地址则是我行走江湖的“后…...
长事务:数据库中的“隐形炸弹“——金仓数据库运维避坑指南
引言:凌晨三点的告警 "张工!生产库又告警了!"凌晨三点的电话铃声总是格外刺耳。运维团队发现数据库频繁进入单用户模式,排查发现某核心表的年龄值(Age)已突破20亿大关。经过一夜奋战,…...
WTK6900C-48L:离线语音芯片重构玩具DNA,从“按键操控”到“声控陪伴”的交互跃迁
一:开发背景 随着消费升级和AI技术进步,传统玩具的机械式互动已难以满足市场需求。语音控制芯片的引入使玩具实现了从被动玩耍到智能交互的跨越式发展。通过集成高性价比的语音识别芯片,现代智能玩具不仅能精准响应儿童指令,还能实…...
一文读懂Python之requests模块(36)
一、requests模块简介 requests模块是python中原生的一款基于网络请求的模块,功能强大,简单便捷且高效 ,该模块可以模拟浏览器发送请求,主要包括指定url、发起请求、获取响应数据和持久化存储,包括 GET、POST、PUT、…...
Java 异常
Java 异常的体系结构 java.lang.Throwable ├── Error(严重错误,程序无法处理) │ ├── OutOfMemoryError │ ├── StackOverflowError │ └── ... └── Exception(程序可以处理的异常)├── Check…...
智能外呼机器人的核心优势
随着人工智能技术的快速发展,智能外呼机器人已成为企业降本增效的重要工具。其通过整合语音识别(ASR)、自然语言处理(NLP)、语音合成(TTS)等技术,不仅替代了大量重复性人工劳动&…...
n8n - 开放灵活的智能自动化工作流平台
n8n - 开放灵活的智能自动化工作流平台 在当今数字化转型的大潮中,自动化已成为众多企业提升效率、优化流程的关键手段。而在众多自动化工具中,n8n以其开放灵活且强大的功能脱颖而出,成为技术团队的可靠选择。今天,我们将深入了解n8n这个开源自动化工作流平台,探索其广泛…...
window 显示驱动开发-处理内存段(二)
KMD 不需要在其内存段中指定 GPU 可用的所有视频内存资源。 但是,KMD 必须指定 VidMm 在系统上运行的所有进程中管理的所有内存资源。 例如: 实现固定函数管道的顶点着色器微代码可以驻留在 GPU 地址空间中,但在 VidMm 管理的内存之外&#x…...
RSS 2025|斯坦福提出「统一视频行动模型UVA」:实现机器人高精度动作推理
导读 在机器人领域,让机器人像人类一样理解视觉信息并做出精准行动,一直是科研人员努力的方向。今天,我们要探讨的统一视频行动模型(Unified Video Action Model,UVA),就像给机器人装上了一个“…...
代码随想录算法训练营第60期第三十天打卡
大家好,今天我们要走进一个全新的章节,这一章叫做贪心算法,前面我们讲的是回溯算法,那究竟什么是贪心算法呢?我们一起走进今天的内容。 第一部分贪心的理论基础 其实大家看这个名字估计也会有一定了解,贪心…...
腾讯云:数字世界的“量子熔炉”与硅基文明引擎
一、算力拓扑学:重新定义空间的计算密度 腾讯云的算力网络正在突破经典物理限制,其分布式架构通过“量子化”资源调度实现超维计算: 虚拟化跃迁:基于KVM的轻量级虚拟化技术,将单台物理服务器切割为百…...
Python Cookbook-7.7 通过 shelve 修改对象
任务 你正在使用标准库模块shelve。你用shelve处理过的一些值是易变的对象(mutableobjects),而且你需要修改这些对象。 解决方案 shelve 模块提供了一种持久的字典——在强大的关系型数据库和简洁的 marshal、pickledbm 以及类似的文件格式之间,它有着…...
Baklib构建AI就绪知识管理体系
Baklib构建AI就绪知识体系 在数字化转型加速的背景下,Baklib通过其AI就绪知识管理体系,为企业提供了从数据整合到智能应用的完整解决方案。该平台以知识中台为核心架构,依托自然语言处理与机器学习技术,对分散在企业文档系统、协…...
嵌入式开发学习日志Day16
一、指针函数 函数的返回值为指针的函数; 注意:不能返回局部变量的地址; 可以返回静态变量的地址; 可以返回全局变量的地址; 1、动态内存分配 void *malloc(size_t size); //申请空间的函数 void free(*ptr); …...
SLAM文献之KernelGPA: A Globally Optimal Solution to Deformable SLAM in Closed-form
KernelGPA: A Globally Optimal Solution to Deformable SLAM in Closed-form 提出了一种在非刚性变形环境下求解 SLAM 问题的闭式全局最优解方法。下面是对其算法原理和核心推导过程的系统解析。 一、算法背景与目标 问题描述: 传统 SLAM 主要假设环境为刚性&am…...
C++之“继承”
继续开始关于C相关的内容。C作为面向对象的语言,有三大特性:封装,继承,多态。 这篇文章我们开始学习:继承。 一、继承的概念和定义 1. 继承的概念 什么是继承呢? 字面意思理解来看:继承就是…...
java集成telegram机器人
java集成telegram机器人 最近项目需要集成telegram机器人,来实现消息推送功能,以此记录下。 1.创建telegram账号 没有账号的可以去某宝上买一个,千万不要用自己的手机号86去注册,你懂得。 2. 打开BotFather对话创建机器人获取…...
从代码学习深度学习 - 单发多框检测(SSD)PyTorch版
文章目录 前言工具函数数据处理工具 (`utils_for_data.py`)训练工具 (`utils_for_train.py`)检测相关工具 (`utils_for_detection.py`)可视化工具 (`utils_for_huitu.py`)模型类别预测层边界框预测层连接多尺度预测高和宽减半块基础网络块完整的模型训练模型读取数据集和初始化…...
因子分析——数学原理及R语言代码
这里写自定义目录标题 因子分析参数估计方法主成分法主因子法 因子旋转 代码实现Reference 因子分析 FactorAnalysis的目的是从多个高度相关的观测变量中提取出少数几个LatentFactor,这些因子代表了变量背后的共通结构,从而实现降维并提升可解释性。 假…...
CSS3 过渡与动画
在现代网页设计中,平滑的过渡和生动的动画效果已成为提升用户体验不可或缺的元素。CSS3 为我们提供了强大的 transition 和 animation 属性,让开发者能够轻松实现各种视觉效果。本文将深入探讨这两大功能的特性和应用场景。 一、CSS3 过渡(T…...
【JAVA】【重试间隔】多线程中两种常见的重试间隔
一、前言 报!! 小南啊,今日有个小任务交给你去办。就是程序中有个数据处理,总是会出错,不知道是什么原因,你去处理一下! 二、主题 围绕数据处理问题去看,从中发现,是因为…...
在现代Web应用中集成 PDF.js (pdfjs-dist 5.2 ESM): 通过 jsdelivr 实现动态加载与批注功能的思考
PDF 文档在现代 Web 应用中越来越常见,无论是作为文档预览、报告展示还是在线编辑的载体。Mozilla 的 PDF.js 是一个功能强大的 JavaScript 库,它使得在浏览器端渲染和显示 PDF 文件成为可能,无需依赖原生插件。 本文将深入探讨如何在你的项…...
android ViewModel liveData无法监听之多线程下activityViewModels不安全
我们一般的,会遇到liveData无法监听到结果,可能存在主要2种可能: liveData没有正确注册;liveData连续多次设置值,中间的值,会被丢弃,但最后一次是能监听到的。 但是我们容易忽略一种case&…...
【即插即用涨点模块】DSConv动态蛇形卷积:自适应聚焦细长弯曲的局部结构特征,助力分割高效提点【附源码+注释】
《------往期经典推荐------》 一、AI应用软件开发实战专栏【链接】 项目名称项目名称1.【人脸识别与管理系统开发】2.【车牌识别与自动收费管理系统开发】3.【手势识别系统开发】4.【人脸面部活体检测系统开发】5.【图片风格快速迁移软件开发】6.【人脸表表情识别系统】7.【…...
守护数字家园:个人博客安全防护指南
前言 在之前的文章《WordPress个人博客搭建(一)》《WordPress个人博客搭建(二)》《WordPress个人博客搭建(三)》中,我们已经在非凡云云服务器上,借助1Panel搭建起属于自己的数字庭院…...
课外活动:简单了解原生测试框架Unittest前置后置的逻辑
简单了解原生测试框架Unittest前置后置的逻辑 一、测试框架执行顺序解析 1.1 基础执行流程 import unittestclass A(unittest.TestCase):classmethoddef setUpClass(cls):print(f"【CLASS START】{cls.__name__}")def setUp(self):print(f"【TEST START】{se…...
带你玩转 Flink TumblingWindow:从理论到代码的深度探索
0.前言 在深入探讨 TumblingWindow 之前,我们先来了解一下流处理或流计算中“窗口”的基本概念。在数据流中,源会持续不断地生成数据,因此计算最终值是不可行的。 在大多数用例中,为了获取有意义的信息,最好使用两种方…...
Java线程安全问题深度解析与解决方案
一、线程安全问题的本质 并发编程的核心挑战:当多个线程同时访问共享资源时,由于操作系统的抢占式调度特性,可能导致不可预期的结果。这种因非原子操作和竞态条件引发的数据不一致问题,称为线程安全问题。 二、经典线程安全问题案…...
python实现的音乐播放器
python实现的音乐播放器 音乐播放器,原来写过一个简陋的例子,可见 https://blog.csdn.net/cnds123/article/details/137874107 那个不能拖动播放进度条上的滑块到新的位置播放。下面介绍的可以拖动播放进度条上的滑块到新的位置播放。 简单实用的音乐播放器 这个简单实用的…...
SMT贴片工艺核心优化与生产实践
内容概要 作为现代电子制造的核心环节,SMT贴片工艺的优化直接决定了产品可靠性与生产效率。本文系统性梳理工艺链中的关键控制点,从锡膏印刷精度到回流焊温度曲线,再到AOI检测技术升级,形成覆盖全流程的优化框架。针对行业普遍存…...
趣味编程:爱心
概述:五月十一号就是母亲节了,本篇博客主要是为母亲所写,这是属于程序员的浪漫,这篇博客是对母亲这么多年无微不至爱的情书。 目录 1. 效果展示 2. 源码展示 3. 代码逻辑详解 3.1 头文件与常量定义 3.2 心形曲线参数方程 3.…...
C语言—指针2
1. const 修饰变量 1.1 const修饰变量 变量被const修饰时,变量此时为常变量,本质为常量,语法上不可被修改,但是如果此时需要修改变量值,可以通过指针的方式修改。 虽然此时通过指针的方式确实修改了变量的值ÿ…...
66、微服务保姆教程(九)微服务的高可用性
微服务的高可用性与扩展 服务的高可用性 集群搭建与负载均衡。服务的故障容错与自愈。分布式事务与一致性 分布式事务的挑战与解决方案。使用 RocketMQ 实现分布式事务。微服务的监控与可观测性 metrics 和日志的收集与分析。sentinel 的监控功能。容器化与云原生 将微服务部署…...
主场景 工具栏 植物卡牌的渲染
前置知识:使用easyx图形库 1.IMAGE内存变量存储的是一张位图(图像),存储了像素数据(颜色,尺寸等) 2.loadimage(&变量名,"加载的文件路径")表示从文件中加载图像到变量中 3. saveimage("文件路径", &变…...
超详细!RxSwift 中的 BehaviorRelay 使用教程(含原理 + 示例 + 实战)
目录 前言 1.什么是 BehaviorRelay 2.基本使用方式 3.BehaviorRelay的常用API 4.BehaviorRelay 和其它类型的对比 5.BehaviorRelay的使用场景 1.绑定UITableView 2.MVVM 场景下使用 BehaviorRelay 6.使用注意事项以及建议 1.注意事项 2.使用建议总结 7.推荐阅读 前…...
【软件测试学习day7】Junit5
Junit 是单元测试框架,本期掌握 Junit5 的基础用法。 1. 注解 首先引入 Junit 依赖: <dependency><groupId>org.junit.jupiter</groupId><artifactId>junit-jupiter-api</artifactId><version>5.9.1</version…...
前端实战中的单例模式:以医疗药敏管理为例
目录 一、什么是单例模式?1. 状态共享性 —— 数据唯一,任意访问,任意修改2. 生命周期控制性 —— 自己掌控何时创建、何时销毁 二、实战分析:医疗药敏管理系统中的单例应用三、其他场景示例单例实现:ConfigManager.ts…...
如何在 Logback 日志框架中加入链路 ID
在 Logback 日志框架中加入链路 ID,能有效将同一条链路的日志串联起来,便于追踪和排查问题。 1. 生成和管理链路 ID 要保证在整个请求链路里都能获取到链路 ID,可借助 ThreadLocal 来实现。以下是一个简单的工具类示例: import…...
晶振:智能设备的“心跳”如何支撑5G与航天
在现代科技飞速发展的时代,智能设备已深度融入我们生活的方方面面,而晶振,作为智能设备的“心跳”,正默默发挥着不可替代的关键作用。无论是翱翔太空的神舟飞船,还是人们手中须臾不离的智能手机,亦或是推动…...
【HarmonyOS 5】App Linking 应用间跳转详解
目录 什么是 App Linking 使用场景 工作原理 如何开发 1.开通 App Linking 2.确定域名 3.服务端部署 applinking.json 文件 4.AGC绑定域名 5.项目配置 6.组装聚合链接 7.解析聚合链接中的参数 其他 如何获取应用ID 什么是 App Linking App Linking 是一款创建跨…...
neo4j官方示例
目录 一、准备数据 1.执行查看结果 二、操作 1.find 单个节点 2.同上,已某个属性去查询 3. 指定查询个数 4.条件查询 5.查询某个人出演的电影汇总 6.查询tom出演的电影中,还有其他演员的信息。 7.查询跟电影(Cloud Atlas)有关的演员࿰…...
基于vueflow可拖拽元素的示例(基于官网示例的单文件示例)
效果图 代码 <template><div style"width: 100%;height: calc(100vh - 84px)"><VueFlow :nodes"nodes" :edges"edges" drop"onDrop" dragover"onDragOver" dragleave"onDragLeave"><div cl…...
minio单点登录与集成(免密)
需求:系统A里,需要实现与MINIO单点登录集成,也就是说,登录了系统A,在访问MINIO时不需要再输入用户密码就可以直接访问。 具体场景如下: 在系统A的一个页面里,配置一个按钮链接,点击…...
深入理解 Docker 网络原理:构建高效、灵活的容器网络
在现代软件开发中,Docker 已经成为了容器化技术的代名词,广泛应用于开发、测试和生产环境。Docker 使得开发者能够将应用及其依赖打包成一个轻量级的容器,并通过 Docker 容器化技术来实现高效的部署与管理。 然而,在日常使用 Dock…...
Hutool中的Pair类详解
1. Pair类概述 Hutool工具库中的Pair类是一个简单的键值对数据结构,用于存储两个相关联的对象。它类似于Map的Entry,但更加轻量级,适用于需要临时存储两个相关联数据的场景。 2. Pair类的主要特点 简单轻量:不依赖复杂的数据结…...
没有Mac,我是怎么上传IPA到App Store的?
没有Mac,我是怎么上传IPA到App Store的? 最近赶一个小项目上线,写的是一个Flutter做的App。安卓版本一晚上搞定,iOS上架却差点把人整崩。 不是我技术菜,是实在太麻烦了。最关键的,是我这台Windows笔电根本…...
RISC-V hardfault分析工具,RTTHREAD-RVBACKTRACE
RV BACKTRACE 简介 本文主要讲述RV BACKTRACE 的内部主要原理 没有接触过rvbacktrace可以看下面两篇文章,理解一下如何使用RVBACKTRACE RVBacktrace RISC-V极简栈回溯组件:https://club.rt-thread.org/ask/article/64bfe06feb7b3e29.html RVBacktra…...
c语言if else语句格式(非常详细)
在C语言中,if else 语句是一种常用的条件控制结构,用于根据不同条件执行不同的代码块。 if-else 语句的基本格式 if-else 语句的基本格式如下: if (条件) { // 如果条件为真,执行这里的代码 } else { // 如果条件为假&a…...
Logback官方文档翻译章节目录
Logback官方文档翻译章节目录 第一章 Logback简介 第二章 Logback的架构(一) Logback的架构(二) Logback的架构(三) 持续更新中…...
按摩椅的机芯类型和材质
按摩椅的机芯类型和材质是影响其按摩效果、使用寿命以及舒适度的重要因素。下面我将从这两个方面详细为你解析: 一、按摩椅机芯类型 按摩椅的“机芯”相当于它的“心脏”,决定了按摩手法、力度、覆盖范围等关键性能。 常见机芯类型(按技术发…...