网络监听技术

网络监听技术

  • 网络监听概述
    • 网络监听环境
  • 流量劫持
    • 网络环境
    • 共享式网络监听原理
    • 交换式网络监听
      • 交换机的工作方式
      • 交换网络监听:交换机+集线器
      • 交换网络监听:端口镜像
      • 交换网络监听:MAC洪泛
      • 交换网络监听:MAC洪泛
      • 交换网络监听:ARP欺骗
      • 交换网络监听:端口盗用
    • DHCP欺骗
      • DHCP基本原理
      • DHCP欺骗
    • DNS劫持
      • DNS攻击
      • DNS劫持
      • CDN入侵
    • Wi-Fi 流量劫持
  • 数据采集
    • 网卡工作方式
    • 网卡的处理流程
    • 数据采集
      • Libpcap
    • 协议分析
  • 网络监听防御
    • 如何发现Sniffer
    • Sniffer的防范

网络监听概述

  • 网络监听( Network Listening):是指在计算机网络接口处截获网上计算机之间通信的数据,也称网络嗅探(Network Sniffing )。
    • 协助网络管理员监测网络传输数据,排除网络故障;
    • 被黑客利用来截获网络上的敏感信息,给网络安全带来极大危害

网络监听环境

在这里插入图片描述

  • 要实施网络监听,主要解决两个问题:
    • 网络流量劫持,即使监听目标的网络流量经过攻击者控制的监听点(主机),主要通过各种地址欺骗或流量定向的方法来实现。
    • 在监听点上采集并分析网络数据,主要涉及网卡的工作原理、协议分析技术,如果通信流量加密了,则还需要进行解密处理。

流量劫持

网络环境

  • 攻击者要想监听目标的通信,首先要能够接收到目标的网络通信数据
  • 一般来说,网络环境可以划分为共享式网络环境和交换式网络环境两类。

共享式网络监听原理

  • 广播特性的总线:主机发送的物理信号能被物理连接在一起的所有主机接收到。
  • 网卡处于混杂模式:接收所有的数据帧。

  • 共享式网络监听:总线型以太网
    在这里插入图片描述
  • 共享网络监听:Hub
    在这里插入图片描述

交换式网络监听

交换机的工作方式

在这里插入图片描述

交换网络监听:交换机+集线器

在这里插入图片描述

交换网络监听:端口镜像

在这里插入图片描述

交换网络监听:MAC洪泛

在这里插入图片描述攻击思路:

  • 攻击思路:
    • 在局域网中发送带有欺骗性MAC地址源的数据
    • CAM表中将会填充伪造的MAC地址记录,随着记录增多,与CAM表相关的交换机内存将被耗尽,这时交换机以类似于集线器的模式工作,向其它所有的物理端口转发数据

交换网络监听:MAC洪泛

  • 问题:网络速度明显降低;目前许多交换机具有MAC洪泛免疫功能
    在这里插入图片描述

交换网络监听:ARP欺骗

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

交换网络监听:端口盗用

在这里插入图片描述
在这里插入图片描述

DHCP欺骗

  • DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)通常被应用在大型的局域网络环境中,主要作用是集中的管理、分配IP地址,使网络环境中的主机动态地获得IP地址、Gateway地址、DNS服务器地址等信息,并能够提升地址的使用率。

DHCP基本原理

在这里插入图片描述

DHCP欺骗

在这里插入图片描述

DNS劫持

  • 在因特网中,域名解析系统(DNS)负责将域名(Domain Name)解析成 IP 地址。同ARP协议一样,DNS同样可以被黑客利用来进行网络流量窃取。
  • 攻击者还可以通过社会工程学等手段获得域名管理密码和域名管理邮箱,然后将指定域名的DNS纪录指向到黑客可以控制的DNS服务器,进而通过在该DNS服务器上添加相应域名纪录,从而使网民访问该域名时,进入黑客所指向的主机。

DNS攻击

  • DNS缓存投毒:控制DNS缓存服务器,把原本准备访问某网站替换为黑客指向的其他网站上。
  • 实现方式有多种:
    1. 可以通过利用网民ISP端的DNS缓存服务器的漏洞进行攻击或控制,从而改变该ISP内的用户访问域名的响应结果
    2. 通过利用用户权威域名服务器上的漏洞,如当用户权威域名服务器同时可以被当作缓存服务器使用,黑客可以实现缓存投毒,将错误的域名纪录存入缓存中,从而使所有使用该缓存服务器的用户得到错误的DNS解析结果。

DNS劫持

在这里插入图片描述

CDN入侵

在这里插入图片描述

Wi-Fi 流量劫持

在这里插入图片描述
在这里插入图片描述

  • Wi-Fi 强制断线
    在这里插入图片描述

数据采集

网卡工作方式

  • 单播(Unicast):网卡在工作时接收目的地址是本机硬件地址的数据帧;
  • 广播(Broadcast):接收所有类型为广播报文的数据帧;
  • 多播(Multicast):接收特定的组播报
  • 混杂模式(Promiscuous):是指对报文中的目的硬件地址不加任何检查,全部接收的工作模式

网卡的处理流程

在这里插入图片描述

数据采集

在这里插入图片描述

Libpcap

  • Libpcap(Libaray for Packet Capture),即分组捕获函数库,是一个在用户级进行实时分组捕获的接口,其特点是独立于操作系统。Libpcap的Windows版本,称为Winpcap
  • 目前的Libpcap已成为开发跨平台的分组捕获和网络监视软件的首选工具
    在这里插入图片描述

协议分析

网络监听防御

如何发现Sniffer

  • 通过下面的方法可以分析出网络上是否存在Sniffer:

    • 构造特殊的报文,根据目标主机的反映判断其网卡是否处于混杂模式。
    • 往网上发大量包含着不存在的物理地址的包 ,由于监听程序将处理这些包,将导致性能下降,通过比较前后该机器性能(ICMP echo delay等方法)加以判断。
  • 使用Anti-Sniffer、promisc、cmp等工具,发现大型网络上的Sniffer 。

  • 测试网络接口有无被设置成混杂模式,因为虽然在非混杂模式下可以运行Sniffer,但只有在混杂模式下才可以捕获共享网络中的所有会话。

  • 对于SunOS、Linux和BSD Unix可以采用命令:ifconfig -a


Sniffer的防范

  • 规划网络: 一般将网络分段划分得越细,Sniffer收集到的信息越少
  • 采用加密通信: 加密后,即使Sniffer捕获了数据,也难于获得数据的原文。目前比较流行的做法是使用SSL协议和SSH安全产品
  • 要想防止对WLAN的监听攻击,可以启用一些安全策略,考虑采用无线VPN产品增强认证和加密功能。
  • 对于主动监听工具,简单地采用交换机来防止监听已经不够了。要防止ARP缓存改写,必须对敏感网络中所有主机的ARP缓存表进行硬编码,这些主机包括在线网站、DNS和Mail服务器、防火墙和DMZ路由器等。另外还应该用Ipsec、VPN和其它的加密技术来保护敏感信息。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/21181.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Unix】消息类的格式与使用

本文给出一个MacOS操作系统中的消息类的使用过程示例&#xff08;结合gencat命令&#xff0c;<nl_types.h>头文件以及catopen,catgets,catclose3个函数&#xff09; 首先根据对应的操作系统&#xff0c;查看gencat命令 man gencat 可以详细看到其中对于输入文件&#x…

Typescript高级: 深入理解extends keyof语法

概述 在TypeScript中&#xff0c;extends关键字是类型系统中一个极其重要的组成部分它不仅用于类的继承&#xff0c;也是类型兼容性检查和泛型约束的关键机制特别是当它与keyof关键字结合&#xff0c;形成K extends keyof T的结构时它为类型系统带来了强大的灵活性和表达能力&…

动态SQL where, choose语句

where语句就一个<where>标签, 很简单, 不再过多赘述 接下来我们来看 choose语句的使用 其实choose语句就像java里的swith语句 , 如果语句前面的生效 , 后面的就不会生效了 可以定义查询的优先级

读人工智能时代与人类未来笔记19_读后总结与感想兼导读

1. 基本信息 人工智能时代与人类未来 (美)亨利基辛格,(美)埃里克施密特,(美)丹尼尔胡滕洛赫尔 著 中信出版社,2023年6月出版 1.1. 读薄率 书籍总字数145千字&#xff0c;笔记总字数39934字。 读薄率39934145000≈27.5% 1.2. 读厚方向 千脑智能 脑机穿越 未来呼啸而来 …

【工具】 MyBatis Plus的SQL拦截器自动翻译替换“?“符号为真实数值

【工具】 MyBatis Plus的SQL拦截器自动翻译替换"?"符号为真实数值 使用MyBatis的配置如下所示&#xff1a; mybatis-plus:configuration:log-impl: org.apache.ibatis.logging.stdout.StdOutImpl调用接口&#xff0c;sql日志打印如下&#xff1a; 参数和sql语句不…

Spring Boot配置MySQL数据库连接数

1.如何在Spring Boot中配置MySQL数据库的连接数 1.1主要配置 在Spring Boot中配置MySQL数据库连接数通常涉及到两个主要的配置&#xff1a; &#xff08;1&#xff09;数据源配置&#xff1a;这通常是在application.properties或application.yml文件中完成的&#xff0c;用于…

顶底背离的终极猜想和运用

这几天圈内都在传底蓓离什么的。作为严肃的量化自媒体&#xff0c;我们就不跟着吃这波瓜了。不过&#xff0c;我一直很关注技术指标的顶背离和底背离&#xff0c;一直在追问它的成因如何&#xff0c;以及如何预测。 底蓓离把我目光再次吸引到这个领域来&#xff0c;于是突然有…

Java如何实现二维数组行列转换

二维数组行列转换就是行号和列号互换 public class Erweishuzubianli {public static void main(String[] args) {int array[][]new int[][]{{8,75,23},{21,55,34},{15,23,20}};int temp;for(int i0;i<array.length;i){for(int j0;j<array[i].length;j){temparray[i][j]…

LitCTF 2024(公开赛道)——WP

目录 Misc 涐贪恋和伱、甾―⑺d毎兮毎秒 你说得对&#xff0c;但__ 盯帧珍珠 Everywhere We Go 关键&#xff0c;太关键了! 女装照流量 原铁&#xff0c;启动&#xff01; 舔到最后应有尽有 The love Web exx 一个....池子&#xff1f; SAS - Serializing Authent…

MySQL—函数—日期函数(基础)

一、引言 接下来讨论和学习关于函数的第三个方面——日期函数。 常见的MySQL当中的日期函数。 注意&#xff1a; 1、CURDATE()&#xff1a;cur&#xff1a;current 当前的&#xff0c;返回的是当前日期。 2、CURTIME()&#xff1a;当前时间。 3、NOW&#xff1a;当前的日期和…

Java语言高级编程:探索深层机制与应用技巧

Java语言高级编程&#xff1a;探索深层机制与应用技巧 在编程世界中&#xff0c;Java以其稳定、强大和跨平台的特性赢得了广泛的赞誉和应用。对于已经掌握Java基础知识的开发者来说&#xff0c;深入Java语言的高级编程领域&#xff0c;无疑将开启全新的技术视野。那么&#xf…

政安晨【零基础玩转各类开源AI项目】:解析开源项目的论文:Physical Non-inertial Poser (PNP)

政安晨的个人主页&#xff1a;政安晨 欢迎 &#x1f44d;点赞✍评论⭐收藏 收录专栏: 零基础玩转各类开源AI项目 希望政安晨的博客能够对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff01; 本文解析的原始论文为&#xff1a;https://arxiv.org/…

力扣1143. 最长公共子序列

给定两个字符串 text1 和 text2&#xff0c;返回这两个字符串的最长 公共子序列 的长度。如果不存在 公共子序列 &#xff0c;返回 0 。 一个字符串的 子序列 是指这样一个新的字符串&#xff1a;它是由原字符串在不改变字符的相对顺序的情况下删除某些字符&#xff08;也可以…

【TB作品】MSP430G2533,读取dht11,显示到lcd1602显示屏,串口发送到电脑

功能 读取dht11&#xff0c;显示到lcd1602显示屏&#xff0c;串口发送到电脑。 部分程序 void main(void) {char disp[20];char count 0;WDTCTL WDTPW WDTHOLD; // Stop WDTP1DIR 0Xff;P1SEL 0X00;P1SEL2 0X00;P2DIR 0Xff;P2SEL 0X00;P2SEL2 0X00;L…

为什么需要开局调用函数?

初始化操作&#xff1a;在你的应用程序启动时&#xff0c;可能需要执行一些初始化操作&#xff0c;例如设置默认值、加载配置、建立数据库连接等。开局调用函数可以帮助你集中管理这些操作&#xff0c;确保它们在应用程序启动时顺利执行。 统一入口&#xff1a;通过一个统一的…

打造你的专属Vue组件:基于FullCalendar超实用“日程任务管理组件”实战

打造你的专属Vue组件&#xff1a;基于FullCalendar超实用“日程任务管理组件”实战 在现代Web应用中&#xff0c;日程管理是一个常见而又关键的功能&#xff0c;它帮助用户高效安排和追踪日常任务及会议。Vue.js作为一个流行的前端框架&#xff0c;以其简洁的语法和强大的组件…

编译选项导致的结构体字节参数异常

文章目录 前言问题描述原因分析问题解决总结 前言 在构建编译工程时&#xff0c;会有一些对应的编译配置选项&#xff0c;不同的编译器&#xff0c;会有对应的配置项。本文介绍GHS工程中编译选项配置不对应导致的异常。 问题描述 在S32K3集成工程中&#xff0c;核1的INP_SWC…

transformer中的ffn

## import torch import torch.nn as nn import torch.nn.functional as F import logging logging.basicConfig(levellogging.INFO, format%(asctime)s %(levelname)s: %(message)s) # 定义FFN层 class FeedForwardNetwork(nn.Module): def __init__(self, input_dim, hi…

python运营商身份证二要素查验接口、身份证实名认证接口

随着网络服务安全需求的日益增长&#xff0c;个人信息的真实性和安全性成为了众多在线平台关注的焦点。近日&#xff0c;为应对这一挑战&#xff0c;翔云人工智能接口开放平台提供了Python语言的身份证二要素查验接口”及“实名认证接口”&#xff0c;旨在为各行业提供高效、准…

将字符串 “()“ ““ “|“ 条件组成的复杂表达式转换为ES查询语句

应用场景 "()" "&" "|" 这几个条件对于我们来说并不陌生, 其表达的逻辑非常明了, 又能通过很少的字符表达很复杂的嵌套关系, 在一些复杂的查询中会经常用到, 因此我最近也遇到了类似的问题,一开始觉得这类的工具应该挺常见的, 结果搜了半天…