2012-02-06 11 views
0

私は無線パケットスニッファプログラムをC言語で書いています。私はairmon-ngを使ってモニタモードで自分のワイヤレスインターフェイスを設定しましたが、今はインターフェイス "mon0"でスニッフィングしています。私はLinux(ubuntu 10.10)を使用しています。pcap、MACアドレスフィルタを使用したワイヤレススニッフィング

パケットのフィルタとしてMACアドレスを設定したいと思います。 私はMACアドレスのフィルタを設定することができますどのように、私を助けてください??下図のように、私はそれを行っているが、それは

pcap_lookupnet(dev,&net,&mask,errbuf); 
    printf("%s\n",errbuf); 
    /* Open the session in promiscuous mode */ 
    handle = pcap_open_live(dev, BUFSIZ, 1, 1000, errbuf); 
    if (handle == NULL) { 
     printf("Couldn't open device %s: %s\n", dev, errbuf); 
     return 2; 
    } 
    if(pcap_compile(handle,&fp,argv[0],0,net)==-1){ 
     fprintf(stderr,"Error calling pcap_compile\n");exit(1);} 
    if(pcap_setfilter(handle,&fp) == -1){ 
     fprintf(stderr,"Error setting filter\n");exit(1);} 
    /* The call pcap_loop() and pass our callback function */ 
    pcap_loop(handle, 10, my_callback, NULL); 

を「が割り当てられたIPv4アドレスをMON0ない」と言います

答えて

5

「no IPV4 address assigned」は、pcap_lookupnet()のエラーです。つまり、キャプチャしようとしているネットワークインターフェイスにIPv4アドレスが割り当てられていないことだけです。 airmon-ngが行ったことは、Wi-Fiアダプタ用の「モニタ」インターフェイスを作成することでした。アダプターの通常のネットワーク・インターフェースにはIPアドレスが割り当てられている可能性がありますが、モニター・インターフェースには割り当てられていません。

IPアドレスが重要な場所は、ip broadcastフィルタ式です。おそらくそうでないIPv4ブロードキャストアドレスをフィルタリングしていない場合、IPv4アドレスを取得する必要はありません。缶「いずれかの」疑似インタフェースをパケットがキャプチャされているネットワークのネットマスクは、プログラムに知られていない場合、またはパケットがLinux上で捕獲されている場合

pcap_compile() manページを引用します複数のネットワークでキャプチャする場合は、値0を指定できます。 IPv4ブロードキャストアドレスのテストは正しく行われませんが、フィルタプログラム内のその他のテストはすべてOKになります。

したがって、pcap_compile()の「ネット」引数として0を渡すだけです。

特定のMACアドレスに送信されるパケットを検索する場合は、wlan dst XX:XX:XX:XX:XX:XXを使用できます。送信されるパケットを検索する場合は、から特定のMACアドレスまで、wlan src XX:XX:XX:XX:XX:XXを使用できます。特定のMACアドレスとの間でやりとりされるパケットを検索する場合は、wlan host XX:XX:XX:XX:XX:XXを使用します。ステーションアドレスではなくアクセスポイントのアドレスを気にする場合は、少なくとも新しいバージョンのlibpcapでは、wlan ra XX:XX:XX:XX:XX:XXまたはwlan ta XX:XX:XX:XX:XX:XXなどのフィルタを使用する必要があります。 (pcap-filterのマニュアルページ、またはpcap-filterのマニュアルページがない場合は、tcpdumpのmanページを参照してください)

+0

tcpdumpのWebページでチュートリアルを読んでいます。私はあなたがstackoverflowで書いたものを読んで学ぶことを試みます。あなたはlibpcapに関するより多くの指示を公開したWebページを持っていますか? – Angs

+0

残念ながら、いいえ。 –

関連する問題