基于Linux C实现的网卡抓包程序.pdf
2011-9-13 基于Linux C实现的网卡抓包程序 - …
推荐 投诉 搜索:
博客首页 注册新博客 博客建议与交流 排行榜 管理博客
本博客部分文档系转载,由于网络泛
骥骜千里平川 滥,无法识别原创主人,故向原创者
表示致敬并特此声明:本人对所有文
章均不享有版权,欢迎转载交流!
首页 | 文章 | 相册 | 收藏夹 | 留言
基于Linux C实现的网卡抓包程序
【前言】通过对数据包的分析,我们可以判断通信双方的操作系统、网络信息流量、经过的路由、数
据包的大小,以及数据包的内容等等。尤其对于喜欢网络安全的人来说,掌握这方面的知识是相当重
要的。本文介绍一个基于Linux平台实现的网络抓包工具。
0.基础知识
Linux raw socket ,
在 环境下,可以使用 ,即原始套接字,接收本机网卡上的数据帧或者数据包 实
3 socket:
现对与监听网络的流量和分析是很有作用的。一共可以有 种方式创建这种
1.socket(AF_INET, SOCK_RAW, IPPROTO_TCP|IPPROTO_UDP|IPPROTO_ICMP)发送
ip
接收 数据包
2.socket(PF_PACKET, SOCK_RAW, htons(ETH_P_IP|ETH_P_ARP|ETH_P_ALL))发送
接收以太网数据帧
3.socket(AF_INET, SOCK_PACKET, htons(ETH_P_IP|ETH_P_ARP|ETH_P_ALL))过时
,
了 不要用啊
1.程序代码
/********************************************************
* 功能:网络抓包工具
* 环境: GCC-4.2.4
* 作者:YSQ-NJUST,yushengqiangyu@163.com
* 备注:自由软件,主要用于学习、交流、共享。
*******************************************************/
#include
#include
#include
#include
#include
#include
#incl