网卡的混杂模式介绍

  • 什么是混杂模式
  • 网卡都有哪些工作模式
  • 如何设置或取消网卡的混杂模式

通常在需要用到抓包工具,例如sniffer时,需要把网卡置于混杂模式。

一 混杂模式基本概念

一般情况下,网卡往往只会接收目的地址是它的数据包而不会接收目的地址不是它的数据包。

混杂模式就是接收所有经过网卡的数据包,包括不是发给本机的包。默认情况下,网卡只把发给本机的包(包括广播包)传递给上层程序,其他的包一律丢弃。

混杂模式就是指网卡能接受所有通过它的数据流,无论是什么模式、什么地址的。具体的转发地址则是在接收到数据后由MAC层来进行。

简单的说,网卡的混杂模式是为网络分析而提供的。

二 网卡工作模式

  • 广播模式:物理地址(MAC)是0Xffffff的帧为广播帧,工作在广播模式的网卡接收广播帧。
  • 多播模式:如果将网卡设置为多播模式,它可以接收所有的多播传送帧,而不论他是不是组内成员。
  • 直接模式:只接收目的地址是自己MAC地址的帧。
  • 混杂模式:工作在混杂模式下的网卡接收所有流经网卡的帧。

网卡默认工作模式包括广播模式和直接模式,即它只接收广播帧和发给自己的帧。如果采用混杂模式,一个站点的网卡将接收同一网络内所有站点所发送的数据包,这样就可以达到对网络信息监视捕获的目的。

三 命令行查看、设置、取消混杂模式

$ifconfig (ens33) 查看网卡是否为混杂模式(promisc为混杂模式)
$ifconfig ens33 promisc 设置网卡为混杂模式
$ifconfig ens33 -promisc 取消 混杂模式

在这里插入图片描述

四 参考
https://blog.youkuaiyun.com/chengqiuming/article/details/89603272

### 网卡混杂模式的定义及工作原理 #### 定义 网卡混杂模式是一种网络接口的工作状态,在这种状态下,网卡能够接收所有经过它的数据流,而不考虑目标地址是否指向本机设备[^1]。默认情况下,网卡仅接收发往本机的数据包(包括广播包),并丢弃其他无关数据包。然而,在混杂模式下,无论数据包的目标地址为何,只要该数据包通过了网卡所在的物理介质,都会被捕获并传递给上层协议栈。 #### 工作原理 在网络通信中,数据包通常携带源地址和目标地址信息。普通模式下的网卡只会对接收数据包的目标地址进行校验,只有当目标地址与本地硬件地址匹配或者是一个广播地址时,才会将数据包交给操作系统进一步处理;其余情况会被直接丢弃[^2]。 而在混杂模式下,这一过滤行为被禁用,所有的数据包都将无差别地提交至主机的操作系统层面。具体来说: - **捕获机制**:一旦启用混杂模式网卡驱动程序会配置底层硬件以忽略目标地址检查逻辑,从而允许任何数据帧进入操作系统的缓冲区。 - **应用支持**:为了利用混杂模式的功能,应用程序需借助特定 API 或者低级套接字编程技术访问原始数据包。例如,Wireshark 这样的抓包工具正是依赖于此功能实现全面监控局域网流量的能力[^4]。 此外值得注意的是,尽管混杂模式提供了强大的数据分析能力,但它也可能带来性能开销以及隐私安全隐患。因此实际部署过程中应谨慎对待,并采取适当措施加以控制。 ```python import socket def enable_promiscuous_mode(interface_name='eth0'): sock = socket.socket(socket.AF_PACKET, socket.SOCK_RAW, socket.htons(0x0003)) try: sock.bind((interface_name, 0)) # Bind to the specified interface. print(f"Promiscuous mode enabled on {interface_name}.") except Exception as e: print(f"Failed to enable promiscuous mode: {str(e)}") enable_promiscuous_mode() ``` 以上代码片段展示了如何通过 Python 使用 `socket` 模块开启指定网卡接口上的混杂模式。这里创建了一个 RAW 类型套接字绑定到选定网络适配器之上以便获取未经筛选的数据报文。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值