用渣明shell调用DOS的arp命令不更好?一行就行了
10多年的元宝山网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。营销型网站建设的优势是能够根据用户设备显示端的尺寸不同,自动调整元宝山建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联从事“元宝山网站设计”,“元宝山网站推广”以来,每个客户项目都认真落实执行。
shell "携梁兆辩租arp -s IP MAC"
DOS获取本机IP(括号内的为注释,输命令时别复制进去)。
方法1:arp -a (Interface:后面的就是你自己的IP地址)
方法2:ipconfig/all (IP Address后面的就是你自己的IP地竖配行址)
DOS重新获取IP
cmd /c ipconfig /release (释放IP,不余哗执行这步下一步命令将无效)
cmd /c ipconfig /renew (重新获得IP)
上不了网或IP冲突时可以在记事本里贴入如下代码保存为如下文件名并执行:
重新获取IP.bat
@echo off
@echo 正在重新获取IP,请稍候....
cmd /c ipconfig /release nul
cmd /c ipconfig /renew nul
arp -a
@echo "Interface:后面的就是你自己的IP地址"
@echo "按任意建测试网络联通(不断跳说明网络正常)"
pause
ping -t
本程序在我的XP系统下测试通过。
在执行本程序前请不要绑定网卡IP,否则重新获取IP的二条命令无效。
-------------------------------------------------------
'VB获取本机IP
Private Sub Command1_Click()
Dim winIP As Object
Set winIP = CreateObject("MSWinsock.Winsock")
MsgBox "本机IP:" winIP.localip
End Sub
-------------------------------------------------------
'卖首VB起用和禁用网络连接
Option Explicit
Private Const NetConnect = H31
Private Sub Command1_Click() '停用本地连接
Dim blnRelust As Boolean
'把 本地连接换成你要控制的本地连接的名字
blnRelust = ExcNetLinkMenu("本地连接", "停用(B)")
'xp
If blnRelust Then
Debug.Print "停用成功"
Else
blnRelust = ExcNetLinkMenu("本地连接", "禁用(B)")
End If
If blnRelust Then
Debug.Print "停用成功"
Else
Debug.Print "停用失败"
End If
End Sub
Private Sub command2_Click() '启用本地连接
'把 本地连接换成你要控制的本地连接的名字
Dim blnRelust As Boolean
blnRelust = ExcNetLinkMenu("本地连接", "启用(A)")
If blnRelust Then
Debug.Print "启用成功"
Else
Debug.Print "启用失败"
End If
End Sub
'首先引用Microsoft Shell Controls And Automation
'先找到“网络连接”这个虚拟文件夹,然后找到要控制的本地连接对应的folderitem,然后枚举verb,找到需要的verb后,调用verb的DoIt方法
Private Function ExcNetLinkMenu(ByVal AdapterName As String, ByVal MenuName As String) As Boolean
Dim objShell As New Shell32.Shell
Dim objFolder As Shell32.Folder
Dim objFolderItem As Shell32.FolderItem
Dim objShellFolderItem As ShellFolderItem
Dim objFolderItemVerb As Shell32.FolderItemVerb
Dim blnRelust As Boolean
On Error Resume Next
Set objFolder = objShell.NameSpace(NetConnect)
If ObjPtr(objFolder) = 0 Then
ExcNetLinkMenu = False
GoTo Exitfunction
End If
For Each objFolderItem In objFolder.Items '遍历网络连接文件夹集合
If objFolderItem.Name = AdapterName Then
Set objShellFolderItem = objFolderItem
blnRelust = True
Exit For
End If
Next
If blnRelust = False Then
ExcNetLinkMenu = False
GoTo Exitfunction
End If
For Each objFolderItemVerb In objShellFolderItem.Verbs '遍历本地连接的右键菜单
If objFolderItemVerb.Name = MenuName Then
objFolderItemVerb.DoIt
ExcNetLinkMenu = True
Exit For
End If
Next
If blnRelust = False Then ExcNetLinkMenu = False
Exitfunction:
Set objShell = Nothing
Set objFolder = Nothing
Set objFolderItem = Nothing
Set objShellFolderItem = Nothing
Set objFolderItemVerb = Nothing
End Function
1. 在VB6中,可以使用API函迟携搜数SendARP来发送ARP报文;
2. 首隐物先需要获取目标IP地址的网卡物理地址;
3. 然后将这个物理地址作为源MAC地址,并将目码历标IP作为目标IP传入SendARP函数中。