本文使用libpcap库在linux下面开发自定义抓包工具,同学们也可以在win下编写同样的代码。
抓包的目的:
1、分析协议
2、伪造数据包
3、获取重要信息,例如用户名和密码
4、做某些攻击使用
抓包的工具
(1)Wireshark 可视化的工具
(2)Tcpdump
是命令行的工具。
(3)自定义抓包工具
原因1: 只抓取感兴趣的部分,去掉无关紧要的东西,为其他目的服务。
原因2:如果有别的目的,例如偷偷安装在别的机器上,有必要保持隐身,保持短小。
抓包工具的构造原理
(1)用原始套接字抓取所有的数据包,然后解析。
(2)使用现成的库来抓包。
Libpcap库,是在linux下面的一个库。如果是windows开发的话,可以使用wincap这个库。两个的函数等都是一样。
欢迎加入学习群【892643663】,获取全套免费C/C++企业实战级课程资源(素材+源码+视频)和编译大礼包
自定义抓包工具的编程过程
(1)想要抓到链路层的包,要打开网卡设备。(在linux下面会把所有的设备当成文件,linux的哲学之一)相当于从这个网卡文件里抓取文件内容。
(2)设置好过滤规则,只保留特定的