使用原始套接字Raw Socket实现数据包嗅探
背景
网络上随时都流通了大量的数据包,我们要想实现抓包并分析,实现思路思路大概是:在合适的时候捕获数据包,保存到缓冲区,作为备用;然后,按照一定的结构和格式去读取缓冲区的内容。由于各种公开的网络协议是已知的,所以对于数据包的分析就比较简单。
通常我们都是使用类似WireShark的抓包软件嗅探数据包,这些抓包工具大部分都是基于WinPcap库实现的数据包嗅探功能。而现在,本文讲解下使用原始套接字的RawSocket方式实现数据包的嗅探。当然,和WinPcap相比,Raw Socket有很大的局限性。,它只能抓到IP层及以上的数据包,抓不到MAC层的数据包。
但是,Raw Socket开发的程序使用起来比较方便,不需要额外安装什么。本文就把实现的过程原理写成文档,分享给大家。
点击此处下载文档和源码
使用原始套接字Raw Socket实现数据包嗅探相关推荐
- java原始套接字,raw socket介绍(示例代码)
原文: http://bbs.chinaunix.net/forum.php?mod=viewthread&tid=876233 test 1.原始套接字(raw socket) 1.1 原始 ...
- linux原始套接字抓取网络数据包
基于linux的抓包 一.获取数据 当我们在做网络安全或者数据探测等工作经常会用到抓包.熟悉的工具有tcpdump.wireshark等,这里我们介绍如何使用C程序原始套接字在linux系统上 ...
- 原始套接字SOCK_RAW发送UDP数据包
使用原始套接字发送udp数据包,从传输层封包到链路层(mac头+ip头+udp头).udp数据包,从传输层封包到链路层(mac头+ip头+udp头). head.h文件如下: #ifndef _HEA ...
- 数据包收发c语言程序,使用C在套接字编程中创建数据包以及发送和接收数据包的正确方法...
指针pkt未在您的应用程序中定义.您有两种选择: 1)将pkt声明为正常变量 struct packet pkt; pkt.srcID = 01; .... send(sockfd, &pkt ...
- Linux小知识--原始套接字(raw socket)之模拟ping
原始套接字-raw socket 最近在研究高并发下扫描存活主机,基本想法是通过socket来模拟ICMP报文,然后就发现了socket的一片新天地----原始套接字(raw socket). raw ...
- 原始套接字与sniffer
原始套接字与sniffer 2009-05-11 23:40:30 分类: LINUX 下面是原文件附的代码.我运行过,很好. 文件: source.rar 大小: 7KB 下载: 下载 今天从网上看 ...
- 网络编程——原始套接字实现原理
目录 1. 基础知识 1.1.概述 1.2.链路层原始套接字 1.3.网络层原始套接字 2.原始套接字的实现 2.1 原始套接字报文收发流程 2.2链路层原始套接字的实现 2.2.1 套接字创建 ...
- 【Linux网络编程】原始套接字实例:发送 UDP 数据包
以太网报文格式: 详细的说明,请看<MAC 头部报文分析>. IP 报文格式: 详细的说明,请看<IP 数据报格式详解>. UDP 报文格式: 详细的说明,请看<UDP ...
- 【Linux网络编程】原始套接字编程
原始套接字编程和之前的 UDP 编程差不多,无非就是创建一个套接字后,通过这个套接字接收数据或者发送数据.区别在于,原始套接字可以自行组装数据包(伪装本地 IP,本地 MAC),可以接收本机网卡上所有 ...
最新文章
- 关于SQL Server中索引使用及维护简介
- WinForm 程序的界面多语言切换
- Java中JMX管理器的作用,项目中有什么具体使用?
- 创建性设计模式之2--建造者模式
- 【机器学习基础】数学推导+纯Python实现机器学习算法6:感知机
- [转] Apache日志分析常用Shell命令
- mysql 唯一索引_面试官:谈谈你对mysql索引的认识?
- python400集视频教程-微软官方出品的400集Python精品视频教程,这正是我们急需的!...
- 【原创】SM4password算法源代码接口具体解释
- 编写可执行程序,其它程序调用,并返回数据,C#
- 计算机专业需要外语口试,计算机专业英语词汇大全,计算机专业必读英语词汇!...
- 美国大学计算机专业排名2014,2014年美国大学计算机专业排名
- ssh_exchange_identification: read: Connection reset by peer
- 设置div显示隐藏的N种方法
- 3D可视化黑科技,VR线上智慧城市在线三维展示
- 线特征作为视觉描述:用于视觉定位的上下文感知线特征描述符
- python24点游戏
- mmdetection配置踩坑
- 第四章 使用 matplotlib 绘制散点图
- Android高精战争(MVC、MVP、MVVM)