资源简介
Qt:Qt实现飞秋拦截助手—ARP攻击 完整项目代码
https://blog.csdn.net/qq_29542611/article/details/84874367

代码片段和文件信息
#include “arpacceptthread.h“
ArpAcceptThread::ArpAcceptThread(Qobject *parent) : QThread(parent)
{
}
ArpAcceptThread::ArpAcceptThread(QString adapterNameQString ip){
char errbuf[PCAP_ERRBUF_SIZE];
// 打开设备
if ((this->mAdapterHandle = pcap_open(adapterName.toLatin1().data() // 设备名
65536 // 65535保证能捕获到不同数据链路层上的每个数据包的全部内容
PCAP_OPENFLAG_PROMISCUOUS // 混杂模式
1000 // 读取超时时间
nullptr // 远程机器验证
errbuf // 错误缓冲池
)) == nullptr)
{
qDebug() << “设备打开失败!!!!“ ;
}
this->mIP = ip;
}
void ArpAcceptThread::run(){
if( this->mAdapterHandle == nullptr){
qDebug() << “网卡设备没有开启“;
return;
}
int res;
struct tm *ltime;
char timestr[16];
struct pcap_pkthdr *header;
const u_char *pkt_data;
time_t local_tv_sec;
struct bpf_program fcode;
QMap info;
// 表达式 (arp[16:2]&0x00010!=0) and (dst host 192.168.1.2)
// (arp[6:2]&0x0002!=0) 过滤ARP应答
// http://www.ferrisxu.com/WinPcap/html/group__language.html 过滤表达
QString exp = QString(“(arp[6:2]&0x0002!=0)“);
// compile the filter
if (pcap_compile(this->mAdapterHandle &fcode exp.toStdString().c_str() 1 0) < 0)
{
qDebug() << “pcap_compile error:“ << pcap_geterr(this->mAdapterHandle);
}
// set the filter
if (pcap_setfilter(this->mAdapterHandle &fcode) < 0)
{
qDebug() << “pcap_setfilter error“;
}
// 获取数据包
while((res = pcap_next_ex( this->mAdapterHandle &header &pkt_data)) >= 0){
if( this->isAccept == false)
break;
if(res == 0)
// 超时时间到
continue;
// 将时间戳转换成可识别的格式
local_tv_sec = header->ts.tv_sec;
ltime=localtime(&local_tv_sec);
strftime( timestr sizeof timestr “%H:%M:%S“ ltime);
printf(“%s%.6d len:%d\n“ timestr header->ts.tv_usec header->len);
fflush(stdout);
const ArpPackage *package = reinterpret_cast(pkt_data);
struct in_addr addr ;
memcpy(&addr.S_un.S_addrpackage->arpBody.srcIpAddr4);
info[“ip“] = inet_ntoa(addr);
qDebug() << “ip=“ << inet_ntoa(addr);
// 从视觉上看 macCh已经转为本地字节序
char macCh[18] = {0};
Utils::macToHexString(package->arpBody.srcEthAddrmacCh);
qDebug() << “mac=“ << macCh;
info[“mac“] = QString(macCh);
emit acceptArp(info);
}
if(res == -1){
qDebug() << “Error reading the packets: “<< pcap_geterr(this->mAdapterHandle);
}
emit acceptDone();
}
void ArpAcceptThread::stopAccept(){
this->isAccept = false;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 3231 2018-12-06 17:43 FQ_Intercept_Helper\arpacceptthread.cpp
文件 847 2018-12-06 14:03 FQ_Intercept_Helper\arpacceptthread.h
文件 3663 2018-12-07 14:29 FQ_Intercept_Helper\arpattackthread.cpp
文件 1026 2018-12-07 13:20 FQ_Intercept_Helper\arpattackthread.h
文件 3587 2018-12-07 13:21 FQ_Intercept_Helper\arpsendthread.cpp
文件 857 2018-12-07 13:21 FQ_Intercept_Helper\arpsendthread.h
文件 229 2018-12-06 20:04 FQ_Intercept_Helper\buttonlist.cpp
文件 310 2018-12-06 20:08 FQ_Intercept_Helper\buttonlist.h
文件 2148 2018-12-07 13:25 FQ_Intercept_Helper\buttonlist.ui
文件 1759 2018-12-06 21:21 FQ_Intercept_Helper\FQ_Intercept_Helper.pro
文件 24337 2018-12-06 19:36 FQ_Intercept_Helper\FQ_Intercept_Helper.pro.user
文件 306 2018-12-02 17:07 FQ_Intercept_Helper\main.cpp
文件 1067654 2018-12-06 14:38 FQ_Intercept_Helper\oui.json
文件 4037092 2018-12-06 14:38 FQ_Intercept_Helper\oui.txt
文件 1345 2018-12-06 14:28 FQ_Intercept_Helper\updatemacthread.cpp
文件 694 2018-12-06 14:27 FQ_Intercept_Helper\updatemacthread.h
文件 2848 2018-12-03 18:40 FQ_Intercept_Helper\utils.cpp
文件 2168 2018-12-03 18:40 FQ_Intercept_Helper\utils.h
文件 11665 2018-12-07 14:28 FQ_Intercept_Helper\widget.cpp
文件 1466 2018-12-07 13:06 FQ_Intercept_Helper\widget.h
文件 3772 2018-12-06 19:39 FQ_Intercept_Helper\widget.ui
目录 0 2018-12-07 14:29 FQ_Intercept_Helper
----------- --------- ---------- ----- ----
5171004 22
相关资源
- 酒店管理系统基于Qt Creator5)
- vtk QT做的三维地质可视化系统2of2
- Qt局域网聊天软件
- Qt Creator opengl实现四元数鼠标控制轨迹
- QT局域网聊天系统(基于QT5.修改过)
- qt-电子点菜系统
- C 餐厅叫号系统(QT平)
- QT 实现文件下载
- qt图像处理
- QT,JPEG解码源代码(已完成)
- arp防御软件,arp欺骗利器
- Qt 播放音频文件
- Qt 读取16进制的data文件
- MQTT+串口(usart)透传
- 易语言QQTEA算法源码
- VC工程转Qt工程文件的工具
- MQTT推送Demo
- 基于Linux、QT的视频监控系统的设计与
- Qt 百度地图 定位
- QT酷炫界面开发指南《QmlBook》
- 针对企业网的ARP攻击防范
- Ubuntu下操作Excel,qt代码
- Qt图片浏览器 --基于Qt的Graphics View f
- qtnribbon2破解
- Qt软件开发 完整项目代码
- MQTT_3.1protocol_Specific中文版
- 在QT中使用RTP进行视频的采集和传输
- arp病毒检测,查询局域网ARP攻击的电
- Mini6410 Qt4和Qtopia编程开发指南
- Qt实现Code39条形码
评论
共有 条评论