PDA

View Full Version : حرفه ای: مشاهده Mac Address سیستم



m.4.r.m
دوشنبه 13 خرداد 1392, 23:20 عصر
با این کد با دادن IP خودتون Mac آدرس مربوط رو می تونید مشاهده کنید :

Option Explicit
Private Const No_ERROR = 0
Private Declare Function inet_addr Lib "wsock32.dll" (ByVal s As String) As Long
Private Declare Function SendARP Lib "iphlpapi.dll" (ByVal DestIp As Long, ByVal ScrIP As Long, pMacAddr As Long, PhyAddrLen As Long) As Long
Private Declare Sub CopyMemory Lib "kernel32.dll" Alias "RtlMoveMemory" (dst As Any, src As Any, ByVal bcount As Long)
Private Function GetRemoteMACAddress(ByVal sRemoteIP As String, sRemoteMacAddress As String) As Boolean
Dim dwRemoteIp As Long
Dim pMacAddr As Long
Dim bpMacAddr() As Byte
Dim PhyAddrLen As Long
Dim cnt As Long
Dim tmp As String

dwRemoteIp = inet_addr(sRemoteIP)
If dwRemoteIp <> 0 Then
PhyAddrLen = 6
If SendARP(dwRemoteIp, 0&, pMacAddr, PhyAddrLen) = No_ERROR Then
If pMacAddr <> 0 And PhyAddrLen <> 0 Then
ReDim bpMacAddr(0 To PhyAddrLen - 1)
CopyMemory bpMacAddr(0), pMacAddr, ByVal PhyAddrLen
For cnt = 0 To PhyAddrLen - 1
If bpMacAddr(cnt) = 0 Then
tmp = tmp & "00-"
Else
tmp = tmp & Hex$(bpMacAddr(cnt)) & "-"
End If
Next

If Len(tmp) > 0 Then
sRemoteMacAddress = Left$(tmp, Len(tmp) - 1)
GetRemoteMACAddress = True
End If

Exit Function
Else
GetRemoteMACAddress = False
End If
Else
GetRemoteMACAddress = False
End If
Else
GetRemoteMACAddress = False
End If
End Function
Private Sub btnGetMac_Click()
Dim sRemoteMacAddress As String
If Len(txtIpAddress.Text) > 0 Then
If GetRemoteMACAddress(txtIpAddress.Text, sRemoteMacAddress) Then
lblMacAddress.Caption = sRemoteMacAddress
Else
lblMacAddress.Caption = "(SendARP call failed)"
End If
End If
End Sub

ra0661
سه شنبه 14 خرداد 1392, 13:32 عصر
خیلی خوبه کد رو که میزارید نمونه کدشو هم تو برنامه پیاده سازی کنید و پیوست کنید

m.4.r.m
سه شنبه 14 خرداد 1392, 15:46 عصر
باز گفتا باز گفتا .... گفتم یا نگفتم :بامزه:

بابا کاری نداره دو تا تکست باکس میزاری و کامند در تکست اولی ip سیستم رو میدی در تکست دیگه mac رو تحویل میگیری

اینم سورس