2012-03-14 51 views
0

上檢查特定IP(包括Ipv4和Ipv6)上的特定端口可用性我在下拉菜單中顯示所有連接的Ip地址,我需要檢查特定端口是否空閒(特別是Ipv4和Ipv6) .IP從下拉菜單中選擇,我如何檢查選取的IP是否是IPv4或IPv6,然後我如何能在IPv6的知識產權案件查詢免費端口可用性在nsis

+1

是什麼讓你確定,如果它在安裝時是免費的,下次重新啓動時它是免費的? (或將來任何其他任意點) – Flexo 2012-03-14 17:34:35

+0

我想知道的是** 1。**是否有任何Windows API(可用於.nsi文件)告訴傳遞的Ip是Ipv4還是Ipv6。 ** 2。**在Ipv4中,我們使用inet_addr將字符串addr轉換爲網絡地址,是否還有其他窗口API會對Ipv6 Ip執行相同的操作? – user1234 2012-03-15 04:55:46

回答

0

你爲什麼老是問基本相同的問題overover?答案總是一樣的:有沒有現成的NSIS插件可以做到這一點AFAIK所以你的選擇是:

  • 編寫一個新的插件
  • 調用本機Windows API的系統插件
  • 使用nsExec執行一個外部工具,如netstat
+0

這個問題是要知道abt如何區分選定的ip地址是ipv6還是ipv4? – user1234 2012-03-15 04:48:19

+0

我很抱歉如果問我所有的問題的方式似乎與你相同。我試圖在我所有的問題中提出完全相同的觀點。我將更正此問題 – user1234 2012-03-15 04:57:23

+0

如果您只想檢查地址是否爲IPv6,則可以選擇多種功能:WSAStringToAddress,inet_pton,getaddrinfo或RtlIpv6StringToAddress。試着聽一個端口將需要更改我在另一個答案中爲您寫的示例代碼... – Anders 2012-03-15 17:14:56