常见网络攻击及防御

news/2024/7/7 5:06:55

ARP攻击

  • 前提是需要熟悉网卡的工作模式,网卡的工作模式分为单播、广播、组播等,arp协议发送请求是广播模式,回复是单播模式。
  • 概念:通过ip地址查找目标机器mac地址,源机器通过广播方式发送请求包(包里包含目标ip),目标机器确认是自己的ip后回复包,不是自己的丢弃。
  • arp协议字段解读:
        Hardware type :硬件类型,标识链路层协议   
        Protocol type: 协议类型,标识网络层协议  
        Hardware size :硬件地址大小,标识MAC地址长度,这里是6个字节(48bti)  
        Protocol size: 协议地址大小,标识IP地址长度,这里是4个字节(32bit)  
        Opcode: 操作代码,标识ARP数据包类型,1表示请求,2表示回应  
        Sender MAC address :发送者MAC  
        Sender IP address :发送者IP  
        Target MAC address :目标MAC,此处全0表示在请求  
        Target IP address: 目标IP  
  • 攻击原理

    • 被动监听
      ARP欺骗攻击建立在局域网主机间相互信任的基础上的

      当A发广播询问:我想知道IP是192.168.0.3的硬件地址是多少?

      此时B当然会回话:我是IP192.168.0.3我的硬件地址是mac-b,

      可是此时IP地址是192.168.0.4的C也非法回了:我是IP192.168.0.3,我的硬件地址是mac-c。而且是大量的。

      所以ARP缓存表“后到优先”原则,A就会误信192.168.0.3的硬件地址是mac-c,而且动态更新缓存表

      这样主机C就劫持了主机A发送给主机B的数据,这就是ARP欺骗的过程。

      假如C直接冒充网关,此时主机C会不停的发送ARP欺骗广播,大声说:我的IP是192.168.0.1,我的硬件地址是mac-c,

      此时局域网内所有主机都被欺骗,更改自己的缓存表,此时C将会监听到整个局域网发送给互联网的数据报。
      说明

    • 主动扫描
    • 解决方案
      对于 ARP 欺骗攻击,利用接入层交换机上已经记录了 Snooping 表项或(和)静态绑定了合法用户的信息进行报文合法性判断。当交换机端口上收到 ARP 报文,将报文中的 IP 和 MAC 地址提取出来,然后与上述表项进行对比,若 IP、MAC 以及收到报文的端口信息在表项中,则认为是合法报文,正常处理,否则认为是非法报文予以丢弃。

参考

[网络通信协议](https://www.cnblogs.com/hanqing/p/5719948.html)  
[一个动画看懂网络原理之CSMA/CD的工作原理](http://www.wonggang.com/8126.html)  
[[图解]ARP协议(一)](https://www.cnblogs.com/csguo/p/7527303.html)  
[图解ARP协议(二)ARP攻击原理与实践](https://www.cnblogs.com/csguo/p/7527073.html)

cookie劫持

ICMP数据包攻击

ip地址欺骗和Smurf攻击

dos攻击

目录遍历攻击

协议指纹识别操作系统

死亡之ping (Ping of death)

泪滴 (teardrop)攻击

OS 命令注入

OS 命令注入

参考文献:

  • web攻击方法及防御总结
  • 常见网络攻击

http://www.niftyadmin.cn/n/2008613.html

相关文章

office365邮箱设置

POP setting Server name: outlook.office365.com Port: 995 Encryption method: SSL SMTP setting Server name: smtp.office365.com Port: 587 Encryption method: TLS IMAP setting Server name: outlook.office365.com Port: 993 Encryption method: SSL

Nuxt.js 数据双向绑定

假定我们有一个需求,一开始通过mounted()将一个字符串渲染在页面上,但是我们经过操作后修改了数据并且需要将得到的结果重新异步渲染到页面中去,而不是跳转刷新页面来重新渲染 首先模板中data()中定义数据,并且要将定义的数据显示…

Spring MVC 文件下载时候 发现IE不支持

Spring MVC 文件下载时候 发现IE不支持RequestMapping("download")public ResponseEntity<byte[]> download(Long fileKey) throws IOException {HttpHeaders headers new HttpHeaders();String fileNamenew String(massMessage.getFileName().getBytes("…

啊,这连字体都要减肥的世道啊

菠萝&#xff1a;“大佬&#xff0c;你这几个数字一定要用这个字体吗&#xff1f;雅黑or苹方不可以吗&#xff1f;” 设计师大佬一脸委屈地看着菠萝&#xff1a;“可是这个字体好看啊。” 表情如下&#xff1a; 哎没办法&#xff0c;这眼神分分钟让人觉得自己在犯罪。那就只能搞…

Gradle 10分钟上手指南_http://www.cnblogs.com/yjmyzz/p/gradle-getting-start.html

Gradle 10分钟上手指南java的源码构建工具&#xff0c;大致经历了 ant -> maven -> gradle 这个过程&#xff0c;每一次进步&#xff0c;都是在解决之前的工具所带来的问题&#xff0c;简单来说&#xff1a;1. ant 功能虽然也很强大&#xff0c;但是过于灵活&#xff0c;…

LeetCode18.四数之和 JavaScript

给定一个包含 n 个整数的数组 nums 和一个目标值 target&#xff0c;判断 nums 中是否存在四个元素 a&#xff0c;b&#xff0c;c 和 d &#xff0c;使得 a b c d 的值与 target 相等&#xff1f;找出所有满足条件且不重复的四元组。 注意&#xff1a;答案中不可以包含重复的…

SpringMVC+myBatis启动报错:Access denied for user '##.##'@'localhost' (using password: YES)

SpringMVCmyBatis启动报错&#xff1a;Access denied for user ##.##localhost (using password: YES)2016年04月14日 15:00:28阅读数&#xff1a;3782网上找了很多解决办法&#xff1a;大致都是说密码填错或者mysql拒绝访问什么的&#xff0c;让修给mysql数据库user用户的bula…

js根据银行卡号判断属于哪个银行,并返回银行缩写及银行卡类型https://www.cnblogs.com/zhoubingyan/p/8334981.html

在做绑定银行卡&#xff0c;输入银行卡的时候&#xff0c;产品有这么一个需求&#xff0c;需要用户输入银行卡号的时候&#xff0c;显示对应的银行卡名称及简称。于是苦苦寻觅&#xff0c;终于找到了支付宝的开放API&#xff0c;银行卡校验接口 https://ccdcapi.alipay.com/val…