首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Linux下网卡的混杂模式浅谈

混杂模式就是接收所有经过网卡的数据,包括不是发给本机的,即不验证MAC地址。普通模式下网卡只接收发给本机的(包括广播)传递给上层程序,其它的一律丢弃。...4)混杂模式(Promiscuous Model):工作在混杂模式下的网卡接收所有的流过网卡的帧,信包捕获程序就是在这种模式下运行的。...网卡的缺省工作模式包含广播模式和直接模式,即它只接收广播帧和发给自己的帧。如果采用混杂模式,一个站点的网卡将接受同一网络内所有站点所发送的数据这样就可以到达对于网络信息监视捕获的目的。...Linux下设置把网卡设置成混杂模式的命令也很简单 ifconfig eth0 promisc 取消混杂模式 ifconfig eth0 -promisc 小知识:使用tcpdump抓时网卡会进入混杂模式...eth0 entered promiscuous mode 实际上网卡是否处于混杂模式并不能根据ifconfig查看是否有PROMISC字段来判断, 例如开启tcpdump抓,这时ifconfig查看并没有

22.1K20

Linux 网络接口混杂模式(Promiscuous mode)认知

---《剑来》 网络接口的混杂模式 混杂模式(Promiscuous mode),简称 Promisc mode,俗称监听模式。...混杂模式通常被网络管理员用来诊断网络问题,但也会被无认证的、想偷听网络通信的人利用。根据维基百科的定义,混杂模式是指一个网卡会把它接收的所有网络流量都交给CPU,而不是只把它想转交的部分交给CPU。...在非混杂模式下,网卡只会接收目的MAC地址是它自己的单播帧,以及多播及广播帧;在混杂模式下,网卡会接收经过它的所有帧!...使用ifconfig或者netstat-i命令查看一个网卡是否开启了混杂模式,当输出包含 PROMISC 时,表明该网络接口处于混杂模式。...bridge后,可以通过查看内核日志看到 veth5 自动进入混杂模式,而且无法退出,直到将 veth5 从 Linux bridge 中移除。

31210
您找到你想要的搜索结果了吗?
是的
没有找到

Linux 经典的几款引擎

来自:网络安全研发随想 链接:https://urlify.cn/7vYNJj 本文列举四个比较经典的 Linux 引擎,如果还有其他你觉得ok的可以留言。...对发送和接收的数据通过Linux内核做过滤和缓冲处理,最后直接传递给上层应用程序。...6、libpcap绕过了Linux内核收流程中协议栈部分的处理,使得用户空间API可以直接调用套接字PF_PACKET从链路层驱动程序中获得数据报文的拷贝,将其从内核缓冲区拷贝至用户空间缓冲区( 「第...2、UIO+PMD 减少中断和CPU上下文切换 DPDK的UIO驱动屏蔽了硬件发出中断,然后在用户态采用主动轮询的方式,这种模式被称为PMD(Poll Mode Driver)。...无需专用的CPU 无需定义新的安全网络模型 XDP的使用场景包括: DDoS防御 防火墙 基于XDP_TX的负载均衡 网络统计 复杂网络采样 高速交易平台 OK,以上就是今天的分享,如果你觉得还有其他的引擎

1.6K41

网卡流程

0.前言 为提升信鸽基础服务质量,笔者就网络全流程进行了内容整理。...网络上网卡相关的资料也比较多,但是比较分散,在此梳理了网卡的流程,分享给大家,希望对大家有帮助,文中引用了一些同事的图表和摘选了网上资料,在文章最后给出了参考文献与部分来源,感谢这些作者的分享。...图2即演示了数据发送时指针和len的变化情况。(linux源码不同的版本有些差别,下面的截图来自linux 2.6.20)。 ? ? ?...网络驱动大致有3种情况: no NAPI:mac每收到一个以太网,都会产生一个接收中断给cpu,即完全靠中断方式来 缺点是当网络流量很大时,cpu大部分时间都耗在了处理mac的中断...netpoll:在网络和I/O子系统尚不能完整可用时,模拟了来自指定设备的中断,即轮询

9.7K217

DPDK 网卡流程

1、Linux网络收发包流程 1.1 网卡与liuux驱动交互 NIC 在接收到数据之后,首先需要将数据同步到内核中,这中间的桥梁是 rx ring buffer。...1.2 linux驱动与内核协议栈交互 当 NIC 把数据通过 DMA 复制到内核缓冲区 sk_buffer 后,NIC 立即发起一个硬件中断。...题外1: 中断处理逻辑 Linux 将中断处理过程分成了两个阶段,也就是上半部和下半部: l上半部用来快速处理中断,它在中断禁止模式下运行,主要处理跟硬件紧密相关的或时间敏感的工作。...https://www.jianshu.com/p/6292b3f4c5c0 2、linux发包流程 l应用程序调用 Socket API(比如 sendmsg)发送网络。...4、软件调优 1、dpdk的轮询模式 DPDK纯轮询模式是指收发包完全不使用中断处理的高吞吐率的方式;物理端口上的每一个队列,都会有一个对应的由描述符组成的软件队列来进行硬件和软件的交互,以达到的目的

2.2K31

Linux内核UDP为什么效率低?能做什么优化?

现在很多人都在诟病Linux内核协议栈效率低,不管他们是真的懂还是一点都不懂只是听别人说的,反正就是在一味地怼Linux内核协议栈,他们的武器貌似只有DPDK。...但是,即便Linux内核协议栈效率真的很低,这是为什么?有没有办法去尝试着优化?而不是动不动就DPDK。 我们从最开始说起。...我们看到的Linux内核在处理逻辑时的backlog,其实抽象出来就是上面的二级锁,它是不是很像Windows的IRQL机制呢?...当然,Linux内核协议栈无法摆脱这两点问题,也就回答了本文的题目中的第一个问题, “Linux内核UDP为什么效率低?” 。 不同的上下文异步操作同一份数据,锁是必不可少的。...,这买卖代价太大,毕竟Linux内核并非专职的。

3.2K61

JS完美官之——闭

在上一篇JS完美官之作用域中,我们已经知道当函数执行完毕后,它所产生的执行期上下文会被销毁,被世人称之为渣男类型的,用完就丢掉,而今天我们探究的是闭却与之相反,可以将闭理解为"痴情的男孩...但凡内部函数被保存到了外部,它一定生成闭。...闭的弊端:当内部函数被保存到外部的时候一定生成闭,闭会导致原有的作用域链不释放造成内存泄漏。...以此来减轻闭对执行速度的影响。...在下一篇文章中,我们可以一起探讨下最小化全局变量的方法,比如说立即执行函数、命名空间的模式、用var声明变量....... 2.写一个打印0~9数字 依旧先看代码: function test(){

19810

Linux】常见指令官&&拓展

指令:-name Linux下find命令在目录结构中搜索文件,并执行指定的操作。...]# 那怎么办呢❓ 语法: zip 压缩文件.zip 目录或文件 功能: 将目录或文件压缩成zip格式 常用选项:-r 递 归处理,将指定目录下的所有文件和子目录一并处理 zip -r 你定义的压缩...dir(要打包压缩的目录) unzip 你定义的压缩 -完成在当前目录下进行解包解压的功能(-d选项可以解压到指定路径) 加上-r进行处理即可(注意你当前的路径) [root@VM-8-3-centos...,有相同的作用,主要是对我们的指令进行解析,解析指令给Linux内核。...Linux权限的概念 Linux下有两种用户:超级用户(root)、普通用户 超级用户:可以再linux系统下做任何事情,不受限制 普通用户:在linux下做有限的事情。

80620

Linux内核UDP为什么效率低?性能怎么优化(超详细讲解)

现在很多人都在诟病Linux内核协议栈效率低,不管他们是真的懂还是一点都不懂只是听别人说的,反正就是在一味地怼Linux内核协议栈,他们的武器貌似只有DPDK。...但是,即便Linux内核协议栈效率真的很低,这是为什么?有没有办法去尝试着优化?而不是动不动就DPDK。 我们从最开始说起。...Linux内核并没有在横向上将锁的粒度做划分,而是在纵向上,采用两个层次的锁机制: 我们看到的Linux内核在处理逻辑时的backlog,其实抽象出来就是上面的二级锁,它是不是很像Windows的...当然,Linux内核协议栈无法摆脱这两点问题,也就回答了本文的题目中的第一个问题, “Linux内核UDP为什么效率低?” 。 不同的上下文异步操作同一份数据,锁是必不可少的。...,这买卖代价太大,毕竟Linux内核并非专职的。

1.5K20

浅谈UDP(数据长度,能力,丢及进程结构选择)

UDP丢 udp丢是指网卡接收到数据后,linux内核的tcp/ip协议栈在udp数据处理过程中的丢,主要原因有两个: 1、udp数据格式错误或校验和检查失败。...下面介绍一下应用程序来不及处理而导致udp丢的常见原因: 1、linux内核socket缓冲区设的太小 # cat /proc/sys/net/core/rmem_default # cat /proc...2、服务器负载过高,占用了大量cpu资源,无法及时处理linux内核socket缓冲区中的udp数据,导致丢。 一般来说,服务器负载过高有两个原因:收到的udp过多;服务器进程存在性能瓶颈。...UDP能力测试 测试环境 处理器:Intel(R) Xeon(R) CPU X3440 @ 2.53GHz,4核,8超线程,千兆以太网卡,8G内存 模型1 单机,单线程异步UDP服务,无业务逻辑,只有操作...UDP能力 UDP处理能力非常可观,在日常的业务情形中,UDP一般不会成为性能瓶颈。 随着进程个数的增加,处理能力未明显上升,但是丢个数明显下降。

10.5K100

盘点一款Python发包利器——scapy

(packet)是网络通信传输中的数据单位,一般称之为数据,其主要由源地址,目标地址,净载数据组成。包括包头和体,包头是固定长度,体长度不变。...简单了解下的定义,下面我们来看看发包利器scapy的用法吧。(参考资料来源:百度百科-数据) 一、常用命令 1、ls():显示所有支持的数据对象,可带参数也可不带,参数可以是任意具体的。 ?...= 0 (0) options : TCPOptionsField = [] (b'') 五、发包,...sr(Ether()/IP(dst="www.baidu.com")) 2、发包且 sr()和sr1()都是在第三层发包,sr1表示只接收第一个回复。...现在就可以使用我们的离线数据分析数据了: sniff(offline = "hw.pcap")#离线数据 总结 通过上面的学习,我们对scapy算是有了一个基础性的认识了,scapy的确很强大,简单的几行命令就能实现发包

2.1K20

linux抓本来端口,Linux

172.31.0.42‘ -w /tmp/temp.cap 监听指定的主机 $ tcpdump -i eth0 -nn ‘host 192.168.1.231‘ 这样的话,192.168.1.231这台主机接收到的和发送的都会被抓取...$ tcpdump -i eth0 -nn ‘src host 192.168.1.231‘ 这样只有192.168.1.231这台主机发送的才会被抓取。...$ tcpdump -i eth0 -nn ‘dst host 192.168.1.231‘ 这样只有192.168.1.231这台主机接收到的才会被抓取。...1、如果要抓eth0的,命令格式如下: tcpdump -i eth0 -w /tmp/eth0.cap 2、如果要抓192.168.1.20的,命令格式如下: tcpdump -i etho host...6、假如要抓pppoe的密码,命令格式如下: tcpdump -i eht0 pppoes -w /tmp/pppoe.cap 7、假如要抓eth0的,抓到10000个后退出,命令格式如下: tcpdump

5.5K40

严格模式混杂模式如何区分?它们有何意义?

严格模式的排版和JS 运作模式是以该浏览器支持的最高标准运行。 在混杂模式中,页面以宽松的向后兼容的方式显示。模拟老式浏览器的行为以防止站点无法工作。...DOCTYPE不存在或格式不正确会导致文档以混杂模式呈现。 回答二 doctype声明指出阅读程序应该用什么规则集来解释文档中的标记。...所谓的标准模式是指,浏览器按 W3C 标准解析执行代码;怪异模式则是使用浏览器自己的方式解析执行代码,因为不同浏览器解析执行的方式不一样,所以我们称之为怪异模式。...严格模式是浏览器根据web标准去解析页面,是一种要求严格的DTD,不允许使用任何表现层的语法,如严格模式的排版和JS 运作模式是以该浏览器支持的最高标准运行混杂模式则是一种向后兼容的解析方法,说的透明点就是可以实现...浏览器解析时到底使用标准模式还是怪异模式,与你网页中的 DTD 声明直接相关, DTD 声明定义了标准文档的类型(标准模式解析)文档类型,会使浏览器使用相应的方式加载网页并显示,忽略 DTD 声明 ,将使网页进入怪异模式

95250

DPDK性能压测系列-1:dperf 工具简介

如果目的地址不是该网卡,且该网卡没有开启混杂模式,该会被网卡丢弃。...(混杂模式:一台机器的网卡能够接收所有经过它的数据流,而不论其目的地址是否是它) 网卡将数据通过DMA的方式写入到指定的内存地址,即图中所示的RX ring,该地址由网卡驱动分配并初始化。...这时CPU会中断正在进行的工作从用户态切换到内核态 CPU根据中断表,调用已经注册的中断函数,这个中断函数会调到驱动程序(NIC Driver)中相应的函数 应用层: 内核存在的缺陷:...传统的收发数据方式,首先网卡通过中断方式通知Linux内核协议栈对数据进行处理,内核协议栈先会对数据进行合法性进行必要的校验,然后判断数据目标是否为本机的Socket,满足条件则会将数据拷贝一份向上递交到用户态...每秒数,每秒发包数,每秒接收比特,每秒发送比特 3. 2-3层协议的收发报文数:ARP、ICMP 4. TCP各种状态的收发报文数:SYN、FIN、PUSH、RST 5.

3.6K50
领券