linux下c语言抓包,C语言实现抓包工具

本文介绍了如何利用libpcap库在Linux系统下编写自定义的抓包工具,包括抓包的目的、常用的抓包工具如Wireshark和Tcpdump,以及自定义抓包工具的原因。通过示例代码展示了使用原始套接字和过滤规则抓取TCP数据包的过程。
摘要由CSDN通过智能技术生成

本文使用libpcap库在linux下面开发自定义抓包工具,同学们也可以在win下编写同样的代码。

抓包的目的:

1、分析协议

2、伪造数据包

3、获取重要信息,例如用户名和密码

4、做某些攻击使用

抓包的工具

(1)Wireshark 可视化的工具

dac6e9776431ddd60267265794421a90.png

(2)Tcpdump

是命令行的工具。

(3)自定义抓包工具

原因1: 只抓取感兴趣的部分,去掉无关紧要的东西,为其他目的服务。

原因2:如果有别的目的,例如偷偷安装在别的机器上,有必要保持隐身,保持短小。

抓包工具的构造原理

(1)用原始套接字抓取所有的数据包,然后解析。

(2)使用现成的库来抓包。

Libpcap库,是在linux下面的一个库。如果是windows开发的话,可以使用wincap这个库。两个的函数等都是一样。

欢迎加入学习群【892643663】,获取全套免费C/C++企业实战级课程资源(素材+源码+视频)和编译大礼包

自定义抓包工具的编程过程

(1)想要抓到链路层的包,要打开网卡设备。(在linux下面会把所有的设备当成文件,linux的哲学之一)相当于从这个网卡文件里抓取文件内容。

(2)设置好过滤规则,只保留特定的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值