背景

网络上随时都流通了大量的数据包,我们要想实现抓包并分析,实现思路思路大概是:在合适的时候捕获数据包,保存到缓冲区,作为备用;然后,按照一定的结构和格式去读取缓冲区的内容。由于各种公开的网络协议是已知的,所以对于数据包的分析就比较简单。

通常我们都是使用类似WireShark的抓包软件嗅探数据包,这些抓包工具大部分都是基于WinPcap库实现的数据包嗅探功能。而现在,本文讲解下使用原始套接字的RawSocket方式实现数据包的嗅探。当然,和WinPcap相比,Raw Socket有很大的局限性。,它只能抓到IP层及以上的数据包,抓不到MAC层的数据包。

但是,Raw Socket开发的程序使用起来比较方便,不需要额外安装什么。本文就把实现的过程原理写成文档,分享给大家。

点击此处下载文档和源码

使用原始套接字Raw Socket实现数据包嗅探相关推荐

  1. java原始套接字,raw socket介绍(示例代码)

    原文: http://bbs.chinaunix.net/forum.php?mod=viewthread&tid=876233 test 1.原始套接字(raw socket) 1.1 原始 ...

  2. linux原始套接字抓取网络数据包

    基于linux的抓包 一.获取数据     当我们在做网络安全或者数据探测等工作经常会用到抓包.熟悉的工具有tcpdump.wireshark等,这里我们介绍如何使用C程序原始套接字在linux系统上 ...

  3. 原始套接字SOCK_RAW发送UDP数据包

    使用原始套接字发送udp数据包,从传输层封包到链路层(mac头+ip头+udp头).udp数据包,从传输层封包到链路层(mac头+ip头+udp头). head.h文件如下: #ifndef _HEA ...

  4. 数据包收发c语言程序,使用C在套接字编程中创建数据包以及发送和接收数据包的正确方法...

    指针pkt未在您的应用程序中定义.您有两种选择: 1)将pkt声明为正常变量 struct packet pkt; pkt.srcID = 01; .... send(sockfd, &pkt ...

  5. Linux小知识--原始套接字(raw socket)之模拟ping

    原始套接字-raw socket 最近在研究高并发下扫描存活主机,基本想法是通过socket来模拟ICMP报文,然后就发现了socket的一片新天地----原始套接字(raw socket). raw ...

  6. 原始套接字与sniffer

    原始套接字与sniffer 2009-05-11 23:40:30 分类: LINUX 下面是原文件附的代码.我运行过,很好. 文件: source.rar 大小: 7KB 下载: 下载 今天从网上看 ...

  7. 网络编程——原始套接字实现原理

    目录 1. 基础知识 1.1.概述 1.2.链路层原始套接字 1.3.网络层原始套接字 2.原始套接字的实现 2.1  原始套接字报文收发流程 2.2链路层原始套接字的实现 2.2.1  套接字创建 ...

  8. 【Linux网络编程】原始套接字实例:发送 UDP 数据包

    以太网报文格式: 详细的说明,请看<MAC 头部报文分析>. IP 报文格式: 详细的说明,请看<IP 数据报格式详解>. UDP 报文格式: 详细的说明,请看<UDP ...

  9. 【Linux网络编程】原始套接字编程

    原始套接字编程和之前的 UDP 编程差不多,无非就是创建一个套接字后,通过这个套接字接收数据或者发送数据.区别在于,原始套接字可以自行组装数据包(伪装本地 IP,本地 MAC),可以接收本机网卡上所有 ...

最新文章

  1. 关于SQL Server中索引使用及维护简介
  2. WinForm 程序的界面多语言切换
  3. Java中JMX管理器的作用,项目中有什么具体使用?
  4. 创建性设计模式之2--建造者模式
  5. 【机器学习基础】数学推导+纯Python实现机器学习算法6:感知机
  6. [转] Apache日志分析常用Shell命令
  7. mysql 唯一索引_面试官:谈谈你对mysql索引的认识?
  8. python400集视频教程-微软官方出品的400集Python精品视频教程,这正是我们急需的!...
  9. 【原创】SM4password算法源代码接口具体解释
  10. 编写可执行程序,其它程序调用,并返回数据,C#
  11. 计算机专业需要外语口试,计算机专业英语词汇大全,计算机专业必读英语词汇!...
  12. 美国大学计算机专业排名2014,2014年美国大学计算机专业排名
  13. ssh_exchange_identification: read: Connection reset by peer
  14. 设置div显示隐藏的N种方法
  15. 3D可视化黑科技,VR线上智慧城市在线三维展示
  16. 线特征作为视觉描述:用于视觉定位的上下文感知线特征描述符
  17. python24点游戏
  18. mmdetection配置踩坑
  19. 第四章 使用 matplotlib 绘制散点图
  20. Android高精战争(MVC、MVP、MVVM)

热门文章

  1. PCB生产工艺流程一:PCB分类的三大要点
  2. 阿里副总裁人设“翻车”:30 岁成 AI 顶尖科学家,但我很懒
  3. 半导体物理 第七章 金属半导体接触及其能级图
  4. opencv双目标定常见问题总结
  5. 信息发布服务器 鸿合ws-10s,鸿合精品课程全自动录播系统解决方案设计.doc
  6. 深度学习如何解决各类科学问题
  7. android 反编译 脱壳,反编译、回编译、脱壳的简单测试
  8. PHP跨境电商商城系统源码支持多语言功能
  9. 传奇更新服务器信息,传奇服务端自动更新boss刷新信息的脚本
  10. 视觉算法工作一年社招经历总结