0

同じ LAN ネットワーク上に多数の IP カメラがあります。カメラのIPアドレスがわからないのですが、各カメラのMACアドレスとポート番号を取得したいです。さらに、カメラのIPとポートが変更された場合、それを検出する方法は?

また、この問題についてインターネットで検索しました。ほとんどの人は、SendARP () などのウィンドウ関数を使用するか、コマンド ライン「arp -a」を使用して回答しました。しかし、それを行うと、カメラまたはコンピュータに関係なく、LAN ネットワークのすべての MAC アドレスを取得します。

私を助けてください!

4

3 に答える 3

2

nmap などのポート スキャナーから始めて、IP カメラを識別する情報を探します。

nmap -A -T4 192.168.0.0/24

すべてのカメラが同じである場合、返された OS 情報によってそれらを検出できる場合があります。

バナー グラブを実行してポートを特定することもできます。

nmap -sV --script=banner 192.168.0.0/24

C++ を使用して nmap 出力を解析します。ネットワークに合わせてネットワーク アドレス範囲を変更します。

于 2012-03-07T17:13:03.677 に答える
1

IPカメラはmDNSパケットなどの識別情報をブロードキャストしますか?多分あなたはこれらの放送をキャッチすることができます。「mDNS」または「Zeroconf」のGoogle。

于 2012-03-07T17:09:06.647 に答える
1

お探しのカメラはすべて同じ会社のものですか?その場合、MAC アドレスはすべて、その会社に割り当てられた共通のプレフィックスを共有している可能性がありますか、それともカメラをプローブして識別できる HTTP やその他のプロトコルをサポートしていますか?

同様の MAC アドレスを共有していない場合でも、他の方法を使用してすべてのカメラを見つけることができます。

私が問題に取り組むかもしれない1つの方法:

For each IP address in your network range {
    Send ARP request for IP address

    If ARP response received {
       Check MAC address of ARP response

       If MAC address matches camera MFR {
           // Add to list
       } else {
           // Probe IP address for device specific webpage or service
           If probe matches { 
               // Add to list
           }
       }
    }
}

カメラSNMPは、識別要素として使用できるいくつかのコマンドをサポートしていることに気付くかもしれません。最悪の場合、HTTPIP アドレスにパケットを送信し、ホストがカメラの Web ページで応答するかどうかを確認できますが、それぞれに Web サーバーが組み込まれていると仮定します。おそらく、すべてのネットワーク デバイスからカメラを識別するために使用できるプロトコルが少なくとも 1 つあります。

于 2012-03-07T17:20:28.657 に答える