Что нового

Как определить ip интерфейса с которого происходит ping

ramslader

Новичок
Сообщения
6
Репутация
0
Здравствуйте подскажите пожалуйста.
Допустим известен IP адрес удаленного пк. Как мне узнать IP адрес интерфейса который находится в одной сети с ним. (Сетевых карт более одной)
Спасибо за внимание
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
Вопрос:
ramslader [?]
Как мне узнать IP адрес интерфейса который находится в одной сети с ним.

Ответ: Это будут все IP адреса данной сети, кроме:
Допустим известен IP адрес удаленного пк.



Добавлено:
Сообщение автоматически объединено:

Как определить вхождение Ip в диапазон
 

alex33

Скриптер
Сообщения
1,457
Репутация
186
Код:
ConsoleWrite(@IPAddress1&@TAB&@IPAddress2&@tab&@IPAddress3&@TAB&@IPAddress4&@CRLF)
 
Автор
R

ramslader

Новичок
Сообщения
6
Репутация
0
Garrett

Допустим так я могу узнать маску а как узнать адрес сети :stars: ?
Код:
ConsoleWrite(_GetSubnetBasedOnIP('здесь IP'))

Func _GetSubnetBasedOnIP($theIP)
	if NOT _isIPaddr($theIP) Then Return SetError(1, 0, 0)
	Const $wbemFlagReturnImmediately = 0x10
    Const $wbemFlagForwardOnly = 0x20
    Local $colNICs="", $NIC, $strQuery, $objWMIService, $retVal = ""
    $strQuery = "SELECT * FROM Win32_NetworkAdapterConfiguration"
    $objWMIService = ObjGet("winmgmts:\\.\root\CIMV2")
	If @error then Return SetError(3, 0, 0)
    $colNICs = $objWMIService.ExecQuery($strQuery, "WQL", $wbemFlagReturnImmediately + $wbemFlagForwardOnly)
	If IsObj($colNICs) Then
		For $NIC in $colNICs
			if _isIPaddr($NIC.IPAddress(0)) then
				if $NIC.IPAddress(0) = $theIP Then
					if _isIPaddr($NIC.IPSubnet(0)) then
						$retVal = $NIC.IPSubnet(0)
						ExitLoop
					EndIf
				EndIf
			EndIf
		Next
	EndIf
	if $retVal = "" Then Return SetError(2, 0, 0)
	Return $retVal
 EndFunc

Func _isIPaddr($sIPAddr)
   If NOT StringRegExp($sIPAddr, "^((25[0-5]|2[0-4]\d|[01]?\d?\d)\.){3}(25[0-5]|2[0-4]\d|[01]?\d?\d)$") Then Return SetError(1, 0, False)
   Return True
EndFunc
; Автор https://www.autoitscript.com/forum/topic/155078-how-to-easily-get-the-subnet-mask/?page=1


alex33

Вы правы но мне необходим точный IP
 
Верх