в общем такая проблема....
в сети есть один МАС адресс у которого я не могу вычислить IP адресс, точнее не знаю как! испробовал различные сканеры сети, но они только могут сканировать ip адреса и потом паказывают их МАС адреса.... а мне нужно произвести поиск по МАС адресам и узнать его ip адрес, а если сидеть и искать один МАС адрес в списке найденый адресов то уйдет много времени потому что в сети более 700 станций....
Приветствуем вас на Форуме PHILka.RU
Вы вошли на форум как ГОСТЬ. Убедительно просим вас зарегистрироваться! Для того, что бы вам был доступен весь функционал форума.
войти - или зарегистрироваться!
Вы вошли на форум как ГОСТЬ. Убедительно просим вас зарегистрироваться! Для того, что бы вам был доступен весь функционал форума.
войти - или зарегистрироваться!
Mac Адрес
Автор:
Life
, 03 окт 2006 11:03
#2
Отправлено 03 Октябрь 2006 - 12:48
Насколько мне известно, утилит для сканирования именно по MAC не существует.
Но что мешает выгрузить список в текстовый файл и поискать требуемый MAC любым текстовым редактором?
Если вручную - тогда да.если сидеть и искать один МАС адрес в списке найденый адресов то уйдет много времени
Но что мешает выгрузить список в текстовый файл и поискать требуемый MAC любым текстовым редактором?
#3
Отправлено 03 Октябрь 2006 - 20:03
в общем такая проблема....
в сети есть один МАС адресс у которого я не могу вычислить IP адресс, точнее не знаю как! испробовал различные сканеры сети, но они только могут сканировать ip адреса и потом паказывают их МАС адреса.... а мне нужно произвести поиск по МАС адресам и узнать его ip адрес, а если сидеть и искать один МАС адрес в списке найденый адресов то уйдет много времени потому что в сети более 700 станций....
на чем построена сеть
нужно смотреть arp таблицу, если linux поробуй arp | grep и mac
cisco sh arp | i mac
Вот нарыл
@echo off setlocal enabledelayedexpansion ::========================================================== :: Здесь указать искомый MAC. Можно так же вписать %1 и :: указывать MAC как параметр к скрипту. Разрешены оба :: разделителя ":" и "-", большие и маленькие буквы. ::========================================================== set MAC=01-23-15-67:89:Ab ::========================================================== :: Три первых октета ::========================================================== set ipbase=192.168.0. set MAC=%MAC::=-% set j=51 set start=%time% for /f "delims=" %%o in ('ipconfig /all ^| find /i "%MAC%"') do ( echo %MAC% is YOUR address^^! goto :eof ) If "%out%"=="" set out=%MAC% was NOT FOUND on the network. for /l %%i in (1,1,254) do ( set /p foo="."<nul ping -n 1 -w 1 %ipbase%%%i>nul if %%i equ !j! ( set /a foo="100*%%i/254" echo !foo!%% set /a j+=51 ) ) echo . 100%% Echo Scan started at %start% Echo Ended at %time% for /f %%o in ('arp -a ^| find /i "%MAC%"') do set out=%MAC% is %%o echo ======================================================= echo %out% echo =======================================================или на vsb
'****************************************************************** ********** ** '* File: mac2ip.vbs '* Purpose: Finds IP of the host with given MAC address. '* Syntax: cscript mac2ip.vbs /mac:MAC_ADDRESS /ip:IP_BLOCK [/p:pause] '* Version: 1.0.2 '* '* Technology: VBSCRIPT,WSH,WMI '* Requirements: Windows XP or newer (uses Win32_PingStatus WMI class) '* '* Authors: 4u3u (asuhovey mtu-net ru) '* '****************************************************************** ********** ** Option Explicit 'On Error Resume Next Dim objShell,strOutput,i,strMAC,objOutput,objAdapter,intPause Dim strSTime,strIP,strNameSpace,strQuery,colAdapters,PausePattern Dim colResult,IPPattern,MACPattern,strArpCommand,strOMAC '* Matches valid MAC address MACPattern = "^([0-9a-f][0-9a-f]-){5}([0-9a-f][0-9a-f])$" '*Matches valid IP block IPPattern = "^\b((25[0-5]|2[0-4]\d|[01]\d\d|\d?\d)\.){3}$" '*Matches positive integer PausePattern = "^\d+$" '**************************************** 'Parse arguments '**************************************** strOMAC = WScript.Arguments.Named("mac") strMAC = Replace(LCase(strOMAC),":","-") strIP = Wscript.Arguments.Named("ip") intPause = Wscript.Arguments.Named("p") If intPause="" Then intPause=1000 If Wscript.Arguments.Count<2 Then Syntax() End If If not ArgVrf(strMAC,MACPattern) Then WScript.Echo "ERROR: Invalid MAC: '" & strOMAC & "' Check syntax..." & VbCrLf Syntax() End If If not ArgVrf(strIP,IPPattern) Then WScript.Echo "ERROR: Invalid IP: '" & strIP & "' Check syntax..." & VbCrLf Syntax() End If If not ArgVrf(intPause,PausePattern) Then WScript.Echo "ERROR: Invalid Pause: '" & intPause & "' Must be positive integer." & VbCrLf Syntax() End If ''**************************************** 'Check if script is running by cscript. 'If not, restart script using cscript. '**************************************** Set objShell = WScript.CreateObject("WScript.Shell") If Instr(1, WScript.FullName, "CScript", vbTextCompare) = 0 Then objShell.Run "cmd /k cscript.exe /nologo """ & WScript.ScriptFullName & """ /mac:" &_ strOMAC & " /ip:" & strIP & " /p:" & intPause, 1, False WScript.Quit End If '**************************************** 'Check if given MAC is owned by local host '**************************************** strNameSpace = "winmgmts:{impersonationLevel=impersonate}//./root/cimv2" strQuery = "SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = True" Set colAdapters = GetObject(strNameSpace). ExecQuery(strQuery) For Each objAdapter in colAdapters If LCase(Replace(objAdapter.MACAddress,":","-")) = strMAC Then WScript.Echo strOMAC & " is YOUR MAC address!" WScript.Quit End If Next '**************************************** 'Ping all IPs in range. '**************************************** strSTime = Now() strQuery = "SELECT * FROM Win32_PingStatus WHERE Address = '" & strIP For i = 1 To 254 Step 1 Set colResult = GetObject(strNameSpace). ExecQuery(strQuery & i & "'") WScript.StdOut.Write "." If i/51-Int(i/51)=0 Then WScript.StdOut.WriteLine " " & Int(100*i/254) & "%" End If Next WScript.Echo ". 100%" & VbCrLf & "Ping completed in " & DateDiff("s",strSTime,Now()) & " seconds." & VbCrLf '**************************************** 'Get IP-MAC pair from ARP cache. '**************************************** WScript.Sleep(intPause) strArpCommand = "%comspec% /c arp.exe -a | find /i """ & strMAC & """" Set objOutput=objShell.Exec(strArpCommand).StdOut WScript.Echo String(56,"=") i=0 Do While Not objOutput.AtEndOfStream i=i+1 strOutput = objOutput.ReadLine WScript.Echo StrOMAC & " is " & RTrim(Left(LTrim(strOutput),15)) Loop If i=0 Then WScript.Echo strOMAC & " was NOT FOUND" &_ " on the local network" & VbCrLf &_ "Either host is unreachable or " & strIP &_ "xxx is not" & VbCrLf & "your local network." End If WScript.Echo String(56,"=") '**************************************** 'Subroutines '**************************************** '*Syntax Sub Syntax() Dim s s = "Finds IP of the host with given MAC address." & VbCrLf & VbCrLf s = s & "SYNTAX: cscript /nologo " & UCase(WScript.ScriptName) &_ " /mac:MAC_ADDRESS /ip:IP_BLOCK [/p:pause]" & VbCrLf & VbCrLf s = s & " MAC_ADDRESS MAC address to search for. MAC_ADDRESS" & VbCrLf s = s & " is in XX-XX-XX-XX-XX-XX format. Both" & VbCrLf s = s & " ':' and '-' delimiters allowed." & VbCrLf s = s & " IP_BLOCK First three octets of local ip range to" & VbCrLf s = s & " scan. E.g. '192.168.0.' Only /24 subnets" & VbCrLf s = s & " are supported in current version." & VbCrLf s = s & " pause Pause after ping in milliseconds." & _ VbCrLf & " Default is 1000 (1 second)" & VbCrLf & VbCrLf s = s & "Example:" & VbCrLf s = s & " cscript /nologo " & UCase(WScript.ScriptName) &_ " /mac:01-23-45-67-89-AB /ip:192.168.0." & VbCrLf WScript.Echo s WScript.Quit 1 End Sub '*Arguments validation Function ArgVrf(arg,pattern) Dim objRegExp Set objRegExp = New RegExp objRegExp.IgnoreCase = true objRegExp.Pattern = pattern ArgVrf = objRegExp.Test(arg) Set objRegExp = Nothing End Function '**************************************** 'End of script '****************************************
#4
Отправлено 04 Октябрь 2006 - 08:05
ARP не канает, это уже испробовано....не показывает....единственное что получилось сделать так это найти порт на коммутаторе к которому подключен пользователь, но дело в том что та том порту подключено еще несколько "свитчей" и отключить его нельзя так как там дохера народу работает, а этот гад засирает серь пакетами....на коммутаторе показывает только его мас адресс.....кароче буду дальше рыть....
#7
Гость_sherr_khann_*
Отправлено 24 Ноябрь 2006 - 17:17
А как же он в инете работает?
Впрочем, если адрес прописан статический, то тогда действительно жопа.
Но в таком случае домовая сеть, с таким уровнем админов, которые не делают привязки адресов к макам, во избежание гадостей, должна загнуться за два года. Ибо тогда вполне возможно воровство траффика в сумасшедших масштабах.
Впрочем, если адрес прописан статический, то тогда действительно жопа.
Но в таком случае домовая сеть, с таким уровнем админов, которые не делают привязки адресов к макам, во избежание гадостей, должна загнуться за два года. Ибо тогда вполне возможно воровство траффика в сумасшедших масштабах.
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных
Вы вошли на форум как ГОСТЬ. Просим вас войти или зарегистрироваться! Для того, что бы вам был доступен весь функционал форума.