指定したIPに起動制限をかける


VisualBasic初心者  2013-06-21 03:53:15  No: 143476

指定したIPに起動制限をする方法を教えてください。
コードだけでできなければ必要なアイテム等教えてください。


YuO  2013-06-21 19:37:39  No: 143477

特定のIPアドレスを持つPCからのみ起動可能としたい,ということでしょうか。
つまりは,起動したタイミングでのIPアドレスを取得したい,という風に読み替えます。
# IPアドレスが取得できれば,あとは起動可能リストと比較するだけなので。

自身のNICに割り振られているIPアドレスであれば,
System.Net.NetworkInformation.NetworkInterface.GetAllNetworkInterfaces()
でSystem.Net.NetworkInformation.NetworkInterfaceの一覧を取得し,
それぞれのオブジェクトのGetIPProperties()を呼び出してSystem.Net.NetworkInformation.IPInterfacePropertiesを取得し,
さらにUnicastAddressプロパティからSystem.Net.NetworkInformation.UnicastIPAddressInformationを取得することで,PCに割り振られているIPアドレスを取得できます。

Imports System.Net
Imports System.Net.NetworkInformation

' 以下,メソッド等の中に記述
For Each nic As NetworkInterface In NetworkInterface.GetAllNetworkInterfaces()
    If nic.OperationalStatus <> OperationalStatus.Up Then Continue ' 有効になっていないインターフェースは排除する
    For Each addr As UnicastIPAddressInformation In nic.GetIPProperties().UnicastAddresses
        Dim ip As IPAddress = addr.Address
        ' ここでIP Addressを比較する。
    Next
Next

グローバルアドレスを,となると面倒になるので,C#での記事になりますが,
UPnPを使ってルータからグローバルIPアドレスを取得する方法 (C#) : たき備忘録
http://rrvf.blogspot.jp/2012/10/upnpip-c.html
などを参照されるのが簡単かと思います。


※返信する前に利用規約をご確認ください。




  


  このエントリーをはてなブックマークに追加