一、Centos7 设置网卡混杂模式并包

本文详细介绍了网络设备的四种工作模式:广播、多播、单播和混杂模式,以及它们的功能和应用场景。同时提到了混杂模式在抓包工具Sniffer中的应用,以及如何使用tcpdump在CentOS中过滤特定端口的网络数据包。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

网卡工作模式有4种,分别是:

广播(Broadcast)模式

多播(Multicast)模式

单播模式(Unicast)

混杂模式(Promiscuous)

[root@yefeng ~]# ifconfig eth0
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.111 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::20c:29ff:fee8:30c8 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:e8:30:c8 txqueuelen 1000 (Ethernet)
RX packets 18382 bytes 7694613 (7.3 MiB)
RX errors 0 dropped 4 overruns 0 frame 0
TX packets 1943 bytes 189310 (184.8 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

网络设备的状态标识
这一块,<BROADCAST,MULTICAST,UP,LOWER_UP>,被称为 net_device flag(网络设备的状态标识)。

UP,表示该网卡处于启动状态。
BROADCAST,表示该网卡有广播地址,可以发送广播包。
MULTICAST,表示该网卡可以发送多播包。
LOWER_UP,表示L1是启动的,也就是网线正插着呢。
mtu 1500,最大传输单元MTU为1500字节,也就是以太网的默认值。
qdisc pfifo_fast,qdisc的全称为 queuing discipline(排队规则)。计算机如果需要通过网络接口发送数据包,它都需要按照这个接口的排队规则进行排序。最简单的排序规则就是 pfifo,也就是我们常说的先入先出的队列形式。而这里的 pfifo_fast 在 pfifo 的基础上,分为了三个波段(数据包按照 Type of Service(服务类型)分入band),其中 band0 的优先级最高,band2 的优先级最低。

========================================================================

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

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

ip link set eth0 promisc on      #设置混杂模式
ip link set ens192 promisc off   #取消混杂模式

     在混杂模式下的网卡能够接收一切通过它的数据,而不管该数据目的地址是否是它。如果通过程序将网卡的工作模式设置为 “混杂模式”,那么网卡将接受所有流经它的数据帧,这实际上就是Sniffer工作的基本原理:让网卡接收一切他所能接收的数据。Sniffer就是一种 能将本地网卡状态设成混杂(promiscuous)状态的软件,当网卡处于这种"混杂"方式时,该网卡具备"广播地址",它对所有遇到的每一个数据帧都 产生一个硬件中断以便提醒操作系统处理流经该物理媒体上的每一个报文包。可见,Sniffer工作在网络环境中的底层,它会拦截所有的正在网络上传送的数 据,并且通过相应的软件处理,可以实时分析这些数据的内容,进而分析所处的网络状态和整体布局。在虚拟机下容器子IP会存在无法穿透的情况,这时候就得把网卡的工作模式设置为混杂模Promiscuous)

二、Centos抓包过滤目标端口命令

在进行网络抓包时,我们有时需要过滤出指定端口的网络数据包。以下是一个Centos抓包过滤目标端口的命令:
 

tcpdump -i eth0 -nn -X dst port 8080

tcpdump  -i eth0  -X port 5050

以上命令将抓取目标端口为8080的网络数据包,并将其输出到终端中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值