.NET/IPv4からMACアドレス取得する・SendARP
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
開始行:
#navi(../)
*IPv4からMACアドレス取得するSendARP()APIを使ってみる [#fc...
iphlpapi.dllのSendARP関数を使用しIPv4アドレスからMACアド...
MACアドレスを取得するIPv4アドレスはネットワーク上に存在し...
#contents
* 関連記事 [#iff49ebe]
-[[ARPテーブルを取得し表示するサンプルコード>.NET/ARPテー...
* 参考サイト [#yf3a555d]
-Microsoft: SendARP 関数 (iphlpapi.h)~
https://learn.microsoft.com/ja-jp/windows/win32/api/iphlp...
-Microsoft: IPAddress クラス~
https://learn.microsoft.com/ja-jp/dotnet/api/system.net.i...
- Microsoft: BitConverter クラス~
https://learn.microsoft.com/ja-jp/dotnet/api/system.bitco...
- Microsoft: BitConverter.ToInt32 メソッド~
https://learn.microsoft.com/ja-jp/dotnet/api/system.bitco...
* 動作確認環境 [#t092ab12]
- Windows 10 ver.22H2
- .NET6.0
- Visual Studio 2022
* サンプルコード [#ac0d019a]
SendARPコマンドを使用したC#サンプルコードを以下に記します...
IPv4アドレスを指定しMACアドレスを取得しています。~
動作確認時は、みなさんの環境にあったIPv4アドレスに変更し...
エラーコードに67が返却された場合は、以下のような原因が考...
- 同一サブネットではないためARPが届かない
- 宛先の機器が動作していない
using System.Net;
using System.Runtime.InteropServices; // SendAPI Win32...
namespace SendArpSample
{
internal class Program
{
[DllImport("iphlpapi.dll", ExactSpelling = true)]
private static extern int SendARP(int DestIP, in...
static void Main(string[] args)
{
string targetIPv4 = "192.168.1.201"; // MAC...
int adr = BitConverter.ToInt32(IPAddress.Par...
byte[] macAdr = new byte[6]; // MACアドレ...
int macAdrLen = macAdr.Length;
int ret = SendARP(adr, 0, macAdr, ref macAdr...
if (ret != 0)
{
Console.Error.WriteLine("error code: " +...
Environment.Exit(ret);
}
string mac = string.Format("{0:x2}-{1:x2}-{2...
...
...
...
...
...
Console.WriteLine("IPv4:{0}, MAC:{1}", targe...
}
}
}
** 実行結果例 [#p00eddf4]
上記のコンソールアプリケーションを実行したときの出力例と...
IPv4:192.168.1.201, MAC:xx-xx-xx-xx-xx-xx
以上、SendARP API を使ってIPv4からMACアドレス取得するサン...
終了行:
#navi(../)
*IPv4からMACアドレス取得するSendARP()APIを使ってみる [#fc...
iphlpapi.dllのSendARP関数を使用しIPv4アドレスからMACアド...
MACアドレスを取得するIPv4アドレスはネットワーク上に存在し...
#contents
* 関連記事 [#iff49ebe]
-[[ARPテーブルを取得し表示するサンプルコード>.NET/ARPテー...
* 参考サイト [#yf3a555d]
-Microsoft: SendARP 関数 (iphlpapi.h)~
https://learn.microsoft.com/ja-jp/windows/win32/api/iphlp...
-Microsoft: IPAddress クラス~
https://learn.microsoft.com/ja-jp/dotnet/api/system.net.i...
- Microsoft: BitConverter クラス~
https://learn.microsoft.com/ja-jp/dotnet/api/system.bitco...
- Microsoft: BitConverter.ToInt32 メソッド~
https://learn.microsoft.com/ja-jp/dotnet/api/system.bitco...
* 動作確認環境 [#t092ab12]
- Windows 10 ver.22H2
- .NET6.0
- Visual Studio 2022
* サンプルコード [#ac0d019a]
SendARPコマンドを使用したC#サンプルコードを以下に記します...
IPv4アドレスを指定しMACアドレスを取得しています。~
動作確認時は、みなさんの環境にあったIPv4アドレスに変更し...
エラーコードに67が返却された場合は、以下のような原因が考...
- 同一サブネットではないためARPが届かない
- 宛先の機器が動作していない
using System.Net;
using System.Runtime.InteropServices; // SendAPI Win32...
namespace SendArpSample
{
internal class Program
{
[DllImport("iphlpapi.dll", ExactSpelling = true)]
private static extern int SendARP(int DestIP, in...
static void Main(string[] args)
{
string targetIPv4 = "192.168.1.201"; // MAC...
int adr = BitConverter.ToInt32(IPAddress.Par...
byte[] macAdr = new byte[6]; // MACアドレ...
int macAdrLen = macAdr.Length;
int ret = SendARP(adr, 0, macAdr, ref macAdr...
if (ret != 0)
{
Console.Error.WriteLine("error code: " +...
Environment.Exit(ret);
}
string mac = string.Format("{0:x2}-{1:x2}-{2...
...
...
...
...
...
Console.WriteLine("IPv4:{0}, MAC:{1}", targe...
}
}
}
** 実行結果例 [#p00eddf4]
上記のコンソールアプリケーションを実行したときの出力例と...
IPv4:192.168.1.201, MAC:xx-xx-xx-xx-xx-xx
以上、SendARP API を使ってIPv4からMACアドレス取得するサン...
ページ名: