문제

무선 액세스 포인트의 BSSID / MAC (미디어 액세스 제어) 주소를 어떻게 얻을 수 있습니까? 내 시스템은 C#을 사용하는 데 연결되어 있습니까?

WAP의 BSSID에 관심이 있습니다. 이것은 WAP의 네트워킹 부분의 MAC 주소와 다릅니다.

도움이 되었습니까?

해결책

다음은 프로그래밍 방식으로 실행해야합니다.

netsh wlan show networks mode=Bssid | findstr "BSSID"

위의 내용은 액세스 포인트의 무선 MAC 주소를 보여줍니다.

arp -a | findstr 192.168.1.254

액세스 포인트에는 2 개의 MAC 주소가 있기 때문입니다. 하나는 무선 장치 및 네트워킹 장치 용입니다. 무선 Mac을 원하지만 네트워킹 Mac을 사용합니다. 아프.

사용 Wi -Fi API 관리:

var wlanClient = new WlanClient();
foreach (WlanClient.WlanInterface wlanInterface in wlanClient.Interfaces)
{
    Wlan.WlanBssEntry[] wlanBssEntries = wlanInterface.GetNetworkBssList();
    foreach (Wlan.WlanBssEntry wlanBssEntry in wlanBssEntries)
    {
        byte[] macAddr = wlanBssEntry.dot11Bssid;
        var macAddrLen = (uint) macAddr.Length;
        var str = new string[(int) macAddrLen];
        for (int i = 0; i < macAddrLen; i++)
        {
            str[i] = macAddr[i].ToString("x2");
        }
        string mac = string.Join("", str);
        Console.WriteLine(mac);
    }
}

다른 팁

이것 의문 네트워크 연결에서 원하는 정보를 얻는 방법을 알려줍니다. (NetworkInformation을 사용하여 답변으로 스크롤)

using System;
using System.Diagnostics;

class Program
{
    static void Main(string[] args)
    {       
        Process proc = new Process();
        proc.StartInfo.CreateNoWindow = true;
        proc.StartInfo.FileName = "cmd";

        proc.StartInfo.Arguments = @"/C ""netsh wlan show networks mode=bssid | findstr BSSID """;

        proc.StartInfo.RedirectStandardOutput = true;       
        proc.StartInfo.UseShellExecute = false;
        proc.Start();
        string output = proc.StandardOutput.ReadToEnd();
        proc.WaitForExit(); 

        Console.WriteLine(output); 
    }   
}

Curly Braces와 같은 구문 오류를 조심하십시오. 그러나 개념은 여기에 있습니다. 이 프로세스를 주기적으로 호출하여 스캔 기능을 만들 수 있습니다. 뭔가 잘못되면 나를 수정하십시오.

프로그래밍 방식으로 arp.exe에서 결과를 얻는 것에 대해 :

이것을 얻는 Win32 API는 IP 도우미 함수 그룹과 그것을 호출합니다 getipnettable (). 그만큼 p/invoke 서명이 여기에 있습니다. 결과를 마샬링하려면 코드를 작성해야하며 변동 길이 결과가있는 재미있는 Win32 API 중 하나입니다.

이를 수행하는 또 다른 방법은 사용하는 것입니다 Windows Management Instrumentation 멋진 래퍼 클래스 세트가 있습니다. System.Management and System.Management.instrumentation 네임 스페이스. 그러나 아래쪽은 WMI 서비스가 작동하기 위해 실행되어야한다는 것입니다. 나는 주위를 파고 있었지만 동등한 정보를 포함하는 WMI 트리에서 정확한 객체를 찾을 수없는 것 같습니다. 나는이 API를 사용 하여이 정보를 검색한다고 주장하는 인터넷에 타사 도구를보고 있기 때문에 그것이 존재한다고 확신합니다. 어쩌면 다른 사람이 그 부분으로 차임 할 것입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top