Перейти к содержимому

Приветствуем вас на Форуме PHILka.RU
Вы вошли на форум как ГОСТЬ. Убедительно просим вас зарегистрироваться! Для того, что бы вам был доступен весь функционал форума.
войти - или зарегистрироваться!
Фотография

Mac Адрес


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 7

#1
Life

Life

    Читатель

  • Участники
  • 12 сообщений
в общем такая проблема....
в сети есть один МАС адресс у которого я не могу вычислить IP адресс, точнее не знаю как! испробовал различные сканеры сети, но они только могут сканировать ip адреса и потом паказывают их МАС адреса.... а мне нужно произвести поиск по МАС адресам и узнать его ip адрес, а если сидеть и искать один МАС адрес в списке найденый адресов то уйдет много времени потому что в сети более 700 станций....

#2
Borland

Borland

    Gold Member

  • Участники
  • 695 сообщений
Насколько мне известно, утилит для сканирования именно по MAC не существует.

если сидеть и искать один МАС адрес в списке найденый адресов то уйдет много времени

Если вручную - тогда да.
Но что мешает выгрузить список в текстовый файл и поискать требуемый MAC любым текстовым редактором? B)

#3
SoD

SoD

    Advanced Member

  • Участники
  • 168 сообщений

в общем такая проблема....
в сети есть один МАС адресс у которого я не могу вычислить 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
Life

Life

    Читатель

  • Участники
  • 12 сообщений
ARP не канает, это уже испробовано....не показывает....единственное что получилось сделать так это найти порт на коммутаторе к которому подключен пользователь, но дело в том что та том порту подключено еще несколько "свитчей" и отключить его нельзя так как там дохера народу работает, а этот гад засирает серь пакетами....на коммутаторе показывает только его мас адресс.....кароче буду дальше рыть....

#5
Гость_sherr_khann_*

Гость_sherr_khann_*
  • Гости
Странные вы все какие-то... Если он в ARP'е не отображается, то какими пакетами он срет? Если же он просто воткнут в сеть, но неподключен, то поотрубать нахрен все неоплаченные линки и вся любовь.

#6
SiN Soft Corporation

SiN Soft Corporation

    Advanced Member

  • Участники
  • 98 сообщений
Тачка которая хорошо накрыта фаером не пингуется не отвечает на ARP запросы и вобще надыбать ее тяжело, так что тот кто за ней сидит явно не ламер.

#7
Гость_sherr_khann_*

Гость_sherr_khann_*
  • Гости
А как же он в инете работает?
Впрочем, если адрес прописан статический, то тогда действительно жопа.
Но в таком случае домовая сеть, с таким уровнем админов, которые не делают привязки адресов к макам, во избежание гадостей, должна загнуться за два года. Ибо тогда вполне возможно воровство траффика в сумасшедших масштабах.

#8
Doomsvd

Doomsvd

    Gold Member

  • Команда сайта
  • 638 сообщений
Ну вообще то привязка к Mac адресу тоже не выход, на многих железках он перешиваеться легко




Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных

Вы вошли на форум как ГОСТЬ. Просим вас войти или зарегистрироваться! Для того, что бы вам был доступен весь функционал форума.