来自:https://blog.csdn.net/mukami0621/article/details/78645825

通过设置网卡为混杂模式就能捕获局域网内所有发包内容,包括非广播包和非发给自己主机的数据包 这是为什么呢?
即主机A发送一个数据包给主机B,我作为主机C怎么也能截获这个数据包呢,原理是什么?
我的网卡为什么设置成混杂模式就能捕获发给别人的包?

先说说网卡的工作原理。

网卡收到传输来的数据,网卡内的单片程序先接收数据头的目的MAC地址,根据计算机上的网卡驱动程序设置的接收模式判断该不该接收,认为该接收就在接收后产生
中断信号通知CPU,认为不该接收就丢弃不管,所以不该接收的数据网卡就截断了,计算机根本就不知道。CPU得到中断信号产生中断,操作系统就根据网卡驱动程序中
设置的网卡中断程序地址调用驱动程序接收数据,驱动程序接收数据后放入信号堆栈让操作系统处理。

再说说局域网如何工作。

数据在网络上是以很小的称为帧(Frame)的单位传输的。帧由好几部分组成,不同的部分执行不同的功能。(例如,以太网的前12个字节存放的是源和目的的地址,这
些位告诉网络:数据的来源和去处。以太网帧的其他部分存放实际的用户数据、TCP/IP的报文头或IPX报文头等等)。帧通过特定的网络驱动程序进行成型,然后通过
网卡发送到网线上。通过网线到达它们的目的机器,在目的机器的一端执行相反的过程。接收端机器的以太网卡捕获到这些帧,并告诉操作系统帧的到达,然后对其进
行存储。就是在这个传输和接收的过程中,嗅探器会造成安全方面的问题。通常在局域网(LAN)中同一个网段的所有网络接口都有访问在物理媒体上传输的所有数据
的能力,而每个网络接口都还应该有一个硬件地址,该硬件地址不同于网络中存在的其他网络接口的硬件地址,同时,每个网络至少还要一个广播地址。(代表所有的
接口地址),在正常情况下,一个合法的网络接口应该只响应这样的两种数据帧: 
1、帧的目标区域具有和本地网络接口相匹配的硬件地址。 
2、帧的目标区域具有“广播地址”。
在接受到上面两种情况的数据包时,网卡通过cpu产生一个硬件中断,该中断能引起操作系统注意,然后将帧中所包含的数据传送给系统进一步处理。当采用共享HUB,
用户发送一个报文时,这些报文就会发送到LAN上所有可用的机器。在一般情况下,网络上所有的机器都可以“听”到通过的流量,但对不属于自己的报文则不予响应
(换句话说,工作站A不会捕获属于工作站B的数据,而是简单的忽略这些数据)。如果局域网中某台机器的网络接口处于混杂(promiscuous)模式(即网卡可以接收
其收到的所有数据包,下面会详细地讲),那么它就可以捕获网络上所有的报文和帧,如果一台机器被配置成这样的方式,它(包括其软件)就是一个嗅探器。然后要
知道嗅探要捕获的东西必须是要物理信号能收到的报文信息。显然只要通知网卡接收其收到的所有包(一般叫作混杂promiscuous模式:指网络上的所有设备都对总线
上传送的数据进行侦听,并不仅仅是它们自己的数据。),在共享HUB下就能接收到这个网段的所有包,但是交换模式下就只能是自己的包加上广播包。要想在交换模式
下接收别人的包,那就要让其发往你的机器所在口。交换模式记住一个口的MAC是通过接收来自这个口的数据后并记住其源MAC,就像一个机器的IP与MAC对应的ARP列表,
交换模式维护一个物理口(就是HUB上的网线插口,这之后提到的所有HUB口都是指网线插口)与MAC的表,所以可以欺骗交换模式的。可以发一个包设置源MAC是你想接收
的机器的MAC,那么交换模式就把你机器的网线插的物理口与那个MAC对应起来了,以后发给那个MAC的包就发往你的网线插口了,也就是你的网卡可以嗅探到了。注意这
物理口与MAC的表与机器的ARP表一样是动态刷新的,那机器发包后交换模式就又记住他的口了,所以实际上是两个在争,这只能应用在只要收听少量包就可以的场合。
内部网基于IP的通信可以用ARP欺骗别人机器让其发送给你的机器,如果要想不影响原来两方的通信,可以欺骗两方,都发给你的机器再由你的机器转发,相当于做中间
人,这用ARP加上编程很容易实现。并且现在很多设备支持远程管理,有很多交换模式可以设置一个口监听别的口,不过这就要管理权限了。利用这一点,可以将一台计
算机的网络连接设置为接受所有以太网总线上的数据,从而实现嗅探。

共享式网络好比很多人在一个屋子里谈话,不管对方是否跟你说,你都听得见。交换式网络则更像打电话,你只能听见跟你说话的人的声音,而听不到别人之间的交谈。

转载于:https://www.cnblogs.com/a-s-m/p/10852255.html

wireshark混杂模式相关推荐

  1. 网络嗅探混杂模式与非混杂模式的区别

    1.混杂模式与非混杂模式的区别: 这两种方式区别很大.一般来说,非混杂模式的嗅探器中,主机仅嗅探那些跟它直接有关的通信,如发向它的,从它发出的,或经它路由的等都会被嗅探器捕捉.而在混杂模式中则嗅探传输 ...

  2. 【博客635】tcpdump原理与网卡混杂模式

    tcpdump原理与网卡混杂模式 案例分析 场景: k8s机器上由于桥上未打开hairpin mode,使得流量通过service回到本身的时候不通了,但是使用tcpdump抓包的时候,流量就通了,不 ...

  3. 混杂模式和非混杂模式

    集线器网络时代下,集线器的工作原理是转发数据包给所有非源端口,所以,非目的主机也会收到数据包. 1.标准模式 一般情况下,我们知道网卡往往只会接受目的地址是他的数据包而不会接受目的地址不是的它的数据包 ...

  4. 说说ESXi虚拟交换机和端口组的“混杂模式”

    很多Up主在ESXi虚拟机软路由教程里都提到了ESXi虚拟交换机的安全里要设置"混杂模式",但基本没有太详细说明什么是"混杂模式",什么情况要开启"混 ...

  5. 【genius_platform软件平台开发】第三十七讲:网卡混杂模式和原始套接字

    Linux下网卡的混杂模式 混杂模式就是接收所有经过网卡的数据包,包括不是发给本机的包,即不验证MAC地址.普通模式下网卡只接收发给本机的包(包括广播包)传递给上层程序,其它的包一律丢弃.一般来说,混 ...

  6. html标准模式与混杂模式,关于Doctype、严格模式与混杂模式

    &lt现行程项些或创容的近在绑思目都者于手内近;!Doctype> 文档声明,位于文档中的最前面的位置,处于标签之前.此标签告知浏览器文档使用哪种HTML或XHTML朋说事础发开和数目间 ...

  7. Doctype作用? 严格模式与混杂模式如何区分?它们有何意义

    前端面试题(3) 打卡: 2021-4-27 HTML Doctype 作用? 严格模式与混杂模式如何区分?它们有何 意义? Doctype作用 (1)位于文档最前面,处于标签之前.告诉浏览器用什么文 ...

  8. Doctype? 严格模式与混杂模式-如何触发这两种模式,区分它们有何意义?

    严格模式与混杂模式--如何触发这两种模式,区分它们有何意义. 在标准模式中,浏览器根据规范呈现页面: 在混杂模式中,页面以一种比较宽松的向后兼容的方式显示. 浏览器根据DOCTYPE是否存在以及使用的 ...

  9. 浅谈严格模式和混杂模式

    一,严格模式和混杂模式的定义: 通俗来说: 严格模式是浏览器根据w3c的规范来解析代码: 混杂模式是浏览器根据自己的规范来解析代码(很明显:无规矩不成方圆,这种混杂模式会产生一些浏览器兼容问题). 二 ...

最新文章

  1. Python哈希函数hashlib
  2. jsp oracle 环境配置文件,jsp + tomcat 连接Oracle数据实例
  3. 圆形渐变shader_Flutter 中渐变的高级用法
  4. dump in AHN for CRM Opportunity doc history
  5. 【模板】在build中配置resources来防止我们资源导出失败的问题
  6. 洛谷 P1656 炸铁路
  7. Spring—使用类加载从配置文件中读取配置
  8. xor和路径(codevs 2412)
  9. Arm 与中国联通成功部署物联网设备管理平台解决方案
  10. 云知声今年要量产三款芯片,还公布了多模态AI芯片规划
  11. RPC原来就是Socket——RPC框架到dubbo的服务动态注册,服务路由,负载均衡演化...
  12. h5页面如何切图_切图与CSS入门
  13. macOS | 提取BDrip(封装格式为mkv)中视频与音频并重新封装为mp4
  14. 数据通信最新技术复习
  15. 2019年厦门国际银行“数创金融杯”数据建模大赛总结
  16. html5的video在IOS端默认全屏和黑屏问题
  17. “汉语编程”是解决安全问题的终极之路?
  18. ubuntu linux 教程 pdf,Ubuntu 12.04 菜鸟完全使用教程(四) PDF
  19. Linux0.11系统调用之execve流程解析
  20. Modbus的基础学习

热门文章

  1. 软件版本的划分及含义alpha、Beta、RELEASE、Stable等
  2. Udp数据丢包测试--iperf3
  3. 【威海seo博客】SEO优化:当下进行网站优化左右排名的重要因素分析
  4. 如何使用NFC手机的支付功能
  5. Linux i2c子系统
  6. 主定理求解算法时间复杂度
  7. 计算机一级 像素题目,2016计算机一级公共基础练习题
  8. win10电脑wlan打不开
  9. 项目管理:项目进度管理该怎么做?
  10. 查看linux系统重启时间