• 大小: 1.1MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-10-02
  • 语言: 其他
  • 标签: Qt  ARP攻击  ARP欺骗  

资源简介

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


评论

共有 条评论