IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası

IRCForumları - IRC ve mIRC Kullanıcılarının Buluşma Noktası (https://www.ircforumlari.net/)
-   Visual Basic (https://www.ircforumlari.net/visual-basic/)
-   -   Uzaktan MAC adresi bulmak (https://www.ircforumlari.net/visual-basic/124767-uzaktan-mac-adresi-bulmak.html)

Cemalizim 21 Temmuz 2008 19:25

Uzaktan MAC adresi bulmak
 
PHP- Kodu:

 'Projeye eklenmesi gerekenler:
2 adet textbox ve 1 adet buton

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 SrcIP 
As Long_
   pMacAddr 
As Long_
   PhyAddrLen 
As Long) As Long

Private Declare Sub CopyMemory Lib "kernel32" _
   Alias 
"RtlMoveMemory" _
  
(dst As Any_
   src 
As Any_
   ByVal bcount 
As Long)
   


Private 
Sub Form_Load()

   
Text1.Text "192.168.1.101"
   
Text2.Text ""
   
Command1.Caption "Get Remote Mac Address"
   
End Sub


Private Sub Command1_Click()

   
Dim sRemoteMacAddress As String
   
   
If Len(Text1.Text) > 0 Then
   
      
If GetRemoteMACAddress(Text1.TextsRemoteMacAddressThen
         Text2
.Text sRemoteMacAddress
      
Else
         
Text2.Text "(SendARP call failed)"
      
End If
     
   
End If

End Sub


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
   
  
'convert the string IP into
  '
an unsigned long value containing
  
'a suitable binary representation
  '
of the Internet address given
   dwRemoteIP 
inet_addr(sRemoteIP)
   
   If 
dwRemoteIP <> 0 Then
   
     
'set PhyAddrLen to 6
      PhyAddrLen = 6
   
     '
retrieve the remote MAC address
      
If SendARP(dwRemoteIP0&, pMacAddrPhyAddrLen) = NO_ERROR Then
     
         
If pMacAddr <> And PhyAddrLen <> 0 Then
     
           
'returned value is a long pointer
           '
to the mac addressso copy data
           
'to a byte array
            ReDim bpMacAddr(0 To PhyAddrLen - 1)
            CopyMemory bpMacAddr(0), pMacAddr, ByVal PhyAddrLen
         
           '
loop through array to build string
            
For cnt 0 To PhyAddrLen 1
               
               
If bpMacAddr(cnt) = 0 Then
                  tmp 
tmp "00-"
               
Else
                  
tmp tmp Hex$(bpMacAddr(cnt)) & "-"
               
End If
         
            
Next
           
           
'remove the trailing dash
           '
added above and return True
            
If Len(tmp) > 0 Then
               sRemoteMacAddress 
Left$(tmpLen(tmp) - 1)
               
GetRemoteMACAddress True
            End 
If

            Exit Function
         
         Else
            
GetRemoteMACAddress False
         End 
If
           
      Else
         
GetRemoteMACAddress False
      End 
If  'SendARP
     
   Else
      GetRemoteMACAddress = False
   End If  '
dwRemoteIP
     
End 
Function 

Alıntıdır..


Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 13:05.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
Copyright ©2004 - 2025 IRCForumlari.Net Sparhawk