如何检查system.Net.Sockets.TCP客户端使用的本地IP地址?
我想使用下面的代码如何检查system.Net.Sockets.TCP客户端使用的本地IP地址?,.net,sockets,powershell,.net,Sockets,Powershell,我想使用下面的代码 $c = "computername" $p = PortNumber #Create object for connecting to port on computer $tcpobject = New-Object System.Net.Sockets.TcpClient #Connect to remote machine's port $connect = $tcpobject.BeginConnect($c,$p,$null,
$c = "computername"
$p = PortNumber
#Create object for connecting to port on computer
$tcpobject = New-Object System.Net.Sockets.TcpClient
#Connect to remote machine's port
$connect = $tcpobject.BeginConnect($c,$p,$null,$null)
#Configure a timeout before quitting
$wait = $connect.AsyncWaitHandle.WaitOne($TCPtimeout,$false)
测试目标端口。该代码将作为PowerShell脚本的一部分运行
如果可以检查用于启动连接的本地IP地址或(至少)本地网络适配器是什么?我能想到的最好办法是在连接时检查
netstat-n-o
。它将显示本地地址和远程地址之间的映射一旦建立连接,您就可以访问的属性,该属性将为您提供一个公开该属性的属性,该属性可以转换为并被查询
但是,如果您在建立连接之前需要此信息,则不需要。任何预检查都不会让您知道在以后实际建立连接时网络连接将处于何种状态。我已将PowerShell输出发布到[PASTEBIN](PASTEBIN.com/kHRVhKQ5)。我真的不知道如何读取这些属性,因为它们没有暴露(?)。非常感谢。