没有合适的资源?快使用搜索试试~ 我知道了~
基于Linux_C实现的网卡抓包程序
5星 · 超过95%的资源 需积分: 50 111 下载量 20 浏览量
2014-10-22
16:39:29
上传
评论 8
收藏 180KB PDF 举报
温馨提示
试读
6页
基于Linux——c实现的网卡抓包程序,写大作业必备!代码详实,直接可以交作业!
资源推荐
资源详情
资源评论
博客首页
注册新博客
博客建议与交流
排行榜
管理博客
推荐
投诉
搜索:
骥骜千里平川
本博客部分文档系转载,由于网络泛
滥,无法识别原创主人,故向原创者
表示致敬并特此声明:本人对所有文
章均不享有版权,欢迎转载交流!
njustysq.cublog.cn
首页
|
文章
|
相册
|
收藏夹
|
留言
基于
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 <unistd.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <netdb.h>
#include <sys/ioctl.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/ip.h>
#include <netinet/in.h>
#include <netpacket/packet.h>
#include <net/ethernet.h>
#include <net/if.h>
#include <arpa/inet.h>
#include <errno.h>
/*
接收缓冲区大小
*/
#define RCV_BUF_SIZE 1024 * 5
/*
接收缓冲区
*/
static int g_iRecvBufSize = RCV_BUF_SIZE;
static char g_acRecvBuf[RCV_BUF_SIZE] = {0};
/*
物理网卡接口
,
需要根据具体情况修改
*/
static const char *
g
_szIfName = "eth1"
;
2011-9-13 基于Linux C实现的网卡抓包程序 - …
…chinaunix.net/u3/…/showart.ph… 1/6
资源评论
- 计算机鬼才~2023-03-28多谢分享啦,好好学习天天向上
- m0_373756752017-11-02多谢分享,好好学习,天天向上
- hy8533949962017-12-29很好的例子,收益费钱
- 守护戈多2019-05-22学习了,谢谢分享。
- enchen2016-01-04很好的参考例子。
anboqing
- 粉丝: 0
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功