VC获取IP和MAC地址

VC获取IP和MAC地址
VC获取IP和MAC地址

VC取得机器的MAC地址

包含库文件ws2_32.lib,iphlpapi.lib,如果用VS2005,最好把这两个库放在工程中,然后打开项目,在项目——属性——配置属性——链接器——输入——附加依赖项当中,输入这两个库文件。

以下程序是取得PC机或ARM IP地址,而后用IP地址取得MAC地址。

需要包含以下头文件

#include"windows.h"

#include"showdlg.h"

#include

#include"Winsock2.h"

void CARM_TestDlg::ForArm()

{

//获得IP地址

WSADATA wsaData;

char name[155];

char * ip;

PHOSTENT hostinfo;

if(WSAStartup(MAKEWORD(2,0),&wsaData)==0)

{

if((gethostname(name,sizeof(name))==0))

{

if((hostinfo=gethostbyname(name))!=NULL)

{

ip=inet_ntoa(*(struct in_addr*)*hostinfo->h_addr_list);

}

}

WSACleanup();

}

//获得MAC地址

HRESULT hr;

IPAddr ipAddr;

ULONG pulMac[2];

ULONG ulLen;

ipAddr = inet_addr(ip);//设备自身的ip "192.168.201.183"

memset (pulMac, 0xff, sizeof (pulMac));

ulLen = 6;

hr = SendARP (ipAddr, 0, pulMac, &ulLen);

PBYTE pbHexMac = (PBYTE) pulMac;

CString str=_T(""),str1;

int i;

for(i=0;i

{

str1.Format(_T("%02X "),pbHexMac[i]);

str+=str1;

}

MessageBox(str);

}

android获取Mac地址和IP地址

android获取Mac地址和IP地址 获取Mac地址实际项目中测试了如下几种方法: (1)设备开通Wifi连接,获取到网卡的MAC地址(但是不开通wifi,这种方法获取不到Mac 地址,这种方法也是网络上使用的最多的方法) //根据Wifi信息获取本地Mac public static String getLocalMacAddressFromWifiInfo(Context context){ WifiManager wifi = (WifiManager) context.getSystemService(Context.WIFI_SERVICE); WifiInfo info = wifi.getConnectionInfo(); return info.getMacAddress(); } (2)调用Linux的busybox,通过linux命令来获取 //根据busybox获取本地Mac public static String getLocalMacAddressFromBusybox(){ String result = ""; String Mac = ""; result = callCmd("busybox ifconfig","HWaddr"); //如果返回的result == null,则说明网络不可取 if(result==null){ return "网络出错,请检查网络"; } //对该行数据进行解析 //例如:eth0 Link encap:Ethernet HWaddr 00:16:E8:3E:DF:67 if(result.length()>0 && result.contains("HWaddr")==true){ Mac = result.substring(result.indexOf("HWaddr")+6, result.length()-1); Log.i("test","Mac:"+Mac+" Mac.length: "+Mac.length()); /*if(Mac.length()>1){ Mac = Mac.replaceAll(" ", "");

Windows中获取MAC地址的几种方法

Windows中获取MAC地址的几种方法 1.NDIS(DDK)通过驱动程序获取MAC地址 ndis规范中说明,网卡驱动程序支持ioctl_ndis_query_stats接口 参数如下: OID_802_3_PERMANENT_ADDRESS :物理地址 OID_802_3_CURRENT_ADDRESS :mac地址 于是我们的方法就得到了。 首先,看看注册表,找一找网卡有几块,分别是什么设备名。 具体位置和os有关,2000下在hlm\software\microsoft\windows nt\current version\networkcards。 然后createfile(devicename,...)注意,要用linkname,因此 还要加上"////.//device//". 接着 deviceiocontrol(hmac,IOCTL_NDIS_QUERY_STA TS, OID_802_3_PERMANENT_ADDRESS/OID_802_3_CURRENT_ADDRESS...) 具体的情况可以参看ddk下的 OID_802_3_CURRENT_ADDRESS条目 https://www.360docs.net/doc/e25215255.html,API-2得到MAC (MSDN推荐方法) #include //#include #include #include #include typedef struct _ASTA T_ { ADAPTER_STA TUS adapt; NAME_BUFFER NameBuff [30]; }ASTA T, * PASTA T; ASTA T Adapter; int main (void)

如何绑定自己的IP地址和Mac地址

如何绑定自己的IP地址和Mac地址,如何解除绑定 分享| 2006-07-06 16:16Iguo_1225|浏览92187 次 我说的是用自己的PC绑定,我记得只需要几条命令。 还有如何解除绑定。 因为班级里只有我一台计算机可以上网,网管在服务器上记录了我的MAC地址和IP地址,可是学生只要把自己的MAC地址改成和我的一样,他们就可以上网了。 我想把我的MAC绑定在网卡上,使别人无法使用。如何实现? 2006-07-20 19:07 提问者采纳 MAC地址也叫物理地址、硬件地址或链路地址,由网络设备制造商生产时写在硬件内部。I P地址与MAC地址在计算机里都是以二进制表示的,IP地址是32位的,而MAC地址则是48位的。MAC地址的长度为48位(6个字节),通常表示为12个16进制数,每2个16进制数之间用冒号隔开,如:08:00:20:0A:8C:6D就是一个MAC地址,其中前6位16进制数08:00:20代表网络硬件制造商的编号,它由IEEE(电气与电子工程师协会)分配,而后3位16进制数0A:8C:6D代表该制造商所制造的某个网络产品(如网卡)的系列号。只要你不去更改自己的MAC地址,那么你的MAC地址在世界是惟一的。 MAC地址的作用 IP地址就如同一个职位,而MAC地址则好像是去应聘这个职位的人才,职位可以既可以让甲坐,也可以让乙坐,同样的道理一个节点的IP地址对于网卡是不做要求,基本上什么样的厂家都可以用,也就是说IP地址与MAC地址并不存在着绑定关系。本身有的计算机流动性就比较强,正如同人才可以给不同的单位干活的道理一样的,人才的流动性是比较强的。职位和人才的对应关系就有点像是IP地址与MAC地址的对应关系。比如,如果一个网卡坏了,可以被更换,而无须取得一个新的IP地址。如果一个IP主机从一个网络移到另一个网络,可以给它一个新的IP地址,而无须换一个新的网卡。当然MAC地址除了仅仅只有这个功能还是不够的,就拿人类社会与网络进行类比,通过类比,我们就可以发现其中的类浦?Γ??玫乩斫釳AC地址的作用。 无论是局域网,还是广域网中的计算机之间的通信,最终都表现为将数据包从某种形式的链路上的初始节点出发,从一个节点传递到另一个节点,最终传送到目的节点。数据包在这些节点之间的移动都是由ARP(Address Resolution Protocol:地址解析协议)负责将IP地址映射到MAC地址上来完成的。其实人类社会和网络也是类似的,试想在人际关系网络中,甲要捎个口信给丁,就会通过乙和丙中转一下,最后由丙转告给丁。在网络中,这个口信就好比是一个网络中的一个数据包。数据包在传送过程中会不断询问相邻节点的MAC地址,这个过程就好比是人类社会的口信传送过程。相信通过这两个例子,我们就可以进一步理解

通过客户端ip获取mac地址

public class MacUtils { /** * 通过ip获取mac地址 * @param ipAddress 客户端ip * @return mac地址 */ public static String getMACAddressByIp(String ipAddress) { String str = "", macAddress = ""; try { Process pp = Runtime.getRuntime().exec("arp -a " + ipAddress); InputStreamReader ir = new InputStreamReader(pp.getInputStream(), "gbk"); BufferedReader br = new BufferedReader(ir); while ((str = br.readLine()) != null) { if (str.indexOf(ipAddress) > 1) { str = str.trim(); macAddress = str.substring(str.indexOf(" "), str.length()); macAddress = macAddress.trim(); macAddress = macAddress.substring(0,17); break; } } pp.destroy(); br.close(); ir.close(); } catch (Exception ex) { return "Can't Get MAC Address!"; }

手动修改IP和MAC地址

这就给这部分被限制上网的朋友们提出了一个难题:被限制不能上网了?那还有没有办法再突破封锁继续上网呢?要再突破封锁也是可以实现的,这里我说一下IP与MAC地址绑定并被锁定限制上网的方法如何巧妙化解。 化解方法:手动修改IP和MAC地址。 既然IP与MAC地址绑定,修改MAC肯定也要修改IP。 一般MAC地址在网卡中是固定的,当然也有网络高手会想办法去修改自己的MAC地址。修改自己的MAC地址有两种方法,一种是硬件修改,另外一种是软件修改。硬件的方法就是直接对网卡进行操作,修改保存在网卡的EPROM 里面的MAC地址,通过网卡生产厂家提供的修改程序可以更改存储器里的地址。那么什么叫做EPROM呢?EPROM是电子学中一种存储器的专业术语,它是可擦写的,也就是说一张白纸你用钢笔写了一遍以后就不能再用橡皮擦去了,而EPROM这张白纸用铅笔写后可以再擦去,可以反复改变其中数据的存储器。当然软件修改的方法就相对来说要简单得多了,在Windows中,网卡的MAC保存在注册表中,实际使用也是从注册表中提取的,所以只要修改注册表就可以改变MAC。 Windows 2000/XP中的修改:同样打开注册表编辑器: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\4D36E 970-E325-11CE-BFC1-08002BE10318 中的0000,0001,0002中的DriverDesc,如果在0000找到,就在0000下面添加字符串变量,命名为“NetworkAddress”,值为要设置的MAC地址,例如:000102030405 完成上述操作后重启就好了。一般网卡发出的包的源MAC地址并不是网卡本身写上去的,而是应用程序提供的,只是在通常的实现中,应用程序先从网卡上得到MAC地址,每次发送的时候都用这个MAC作为源MAC而已,而注册表中的MAC地址是在Windows安装的时候从网卡中读入的,只要你的操作系统不重新安装应该没有问题. 另一种修改MAC的方法:打开本地连接的属性,在“常规”里面,有一个“配置”,然后点“高级”,选“network address”,选中“值”,在里面填写数据。这个数据你最好到开始-运行-cmd,输入IPCONFIG /ALL 察看,如:00-1D-7D-77-45-83,找到你的那个值,去掉-,修改最后1个数,填进去就行了。 修改IP地址的方法:开始-运行-cmd,输入IPCONFIG /ALL 察看,将里面的信息纪录下来,到本地连接的属性里面-Internet协议TCP/IP-属性,点使用下面IP地址,然后把你纪录的写进去就行了,但也要把如192.168.1.3,后面的改一位数字,比如改成192.168.1.4,网关就不要改了。

获取以太网卡的MAC地址(附源代码)

2、C#编程要点 Microsoft提供的WMI(Windows Management Instrumentation)中提供了一个Win32_NetworkAdapterConfiguration的类,定义了获取MAC地址的方法,因此只要构造一个定义为Win32_NetworkAdapter Configuration的WMI类,从中取出MAC地址的值即可。在C#中管理WMI主要使用ManagementClass类。编写程序过程要注意以下两个要点。 1)、命名空间的添加 由于System.Management的动态链接库不是C#中默认加载的,所以要添加System.Management的命名空间前要添加System.Management.dll链接库。依次选择:“项目”→“添加引用”→“.NET”菜单栏,加入System.Management。确认添加了动态链接库后添加命名空间: usingSystem.Management; 2)、MAC地址的获取 根据前面的介绍,要构造一个ManagementClass类管理定义为Win32_NetworkAdapter Configuration的WMI类,然后将ManagementClass类中的所有变量的值返回给属于ManagementObjectCollection类的变量,ManagementObjectCollection类用于表示WMI实例的不同集合,将不同集合中的各个MAC地址读出,就可获得多网卡的MAC地址。 构造ManagementClass,函数原型如下: public ManagementClass(string path); 参数:path表示WMI的路径。 要返回ManagementClass所有实例的集合,使用GetInstances(),函数原型如下: public ManagementObjectCollectionGetInstances(); 例如:获得本机上多网卡的MAC地址: ManagementClass mc; //定义一个ManagementClass类 //将ManagementClass类变量定义为Win32_NetworkAdapter Configuration,以便获得//网络信息 mc=new ManagementClass(” Win32_NetworkAdapterConfiguration”); //使用ManagementObjectCollection记录mc中的所有信息,包括多个网卡信息 ManagementObjectCollectionmoc=mc. GetInstances(); //取得ManagementObjectCollection中的不同网卡配置信息,判断如果该网卡可用就//去读取MAC地址 foreach(ManagementObjectmo in moc) { if(mo[“IPEnabled”].ToString()= =”True”) Console.WriteLine(”MAC address”+mo[“MacAddress”].ToString()); } using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Management; namespace ConsoleApplication3

关于IP-MAC地址绑定设置

关于IP-MAC地址绑定的交换机设置 1.方案1——基于端口的MAC地址绑定 思科2950交换机为例,登录进入交换机,输入管理口令进入配置模式,敲入命令: Switch#config terminal #进入配置模式 Switch(config)# Interface fastethernet 0/1 #进入具体端口配置模式 Switch(config-if )#Switchport port-secruity #配置端口安全模式 Switch(config-if )switchport port-security mac-address MAC(主机的MAC地址) #配置该端口要绑定的主机的MAC地址 Switch(config-if )no switchport port-security mac-address MAC(主机的MAC地址) #删除绑定主机的MAC地址 注意: 以上命令设置交换机上某个端口绑定一个具体的MAC地址,这样只有这个主机可以使用网络,如果对该主机的网卡进行了更换或者其他PC机想通过这个端口使用网络都不可用,除非删除或修改该端口上绑定的MAC地址,才能正常使用。 注意: 以上功能适用于思科2950、3550、4500、6500系列交换机 2.方案2——基于MAC地址的扩展访问列表 Switch(config)Mac access-list extended MAC10 #定义一个MAC地址访问控制列表并且命名该列表名为MAC10 Switch(config)permit host 0009.6bc4.d4bf any #定义MAC地址为0009.6bc4.d4bf的主机可以访问任意主机 Switch(config)permit any host 0009.6bc4.d4bf #定义所有主机可以访问MAC地址为0009.6bc4.d4bf的主机 Switch(config-if )interface Fa0/20 #进入配置具体端口的模式 Switch(config-if )mac access-group MAC10 in #在该端口上应用名为MAC10的访问列表(即前面我们定义的访问策略) Switch(config)no mac access-list extended MAC10 #清除名为MAC10的访问列表 此功能与应用一大体相同,但它是基于端口做的MAC地址访问控制列表限制,可以限定特定源MAC地址与目的地址范围。 注意:

MAC地址与IP地址绑定策略的破解

MAC与IP 地址绑定原理 IP地址的修改非常容易,而MAC地址存储在网卡的EEPROM中,而且网卡的MAC 地址是唯一确定的。因此,为了防止内部人员进行非法IP盗用(例如盗用权限更高人员的IP 地址,以获得权限外的信息),可以将内部网络的IP地址与MAC地址绑定,盗用者即使修改了IP地址,也因MAC地址不匹配而盗用失败:而且由于网卡MAC地址的唯一确定性,可以根据MAC地址查出使用该MAC地址的网卡,进而查出非法盗用者。 目前,很多单位的内部网络,尤其是学校校园网都采用了MAC地址与IP地址的绑定技术。许多防火墙(硬件防火墙和软件防火墙)为了防止网络内部的IP地址被盗用,也都内置了MAC地址与IP地址的绑定功能。 从表面上看来,绑定MAC地址和IP地址可以防止内部IP地址被盗用,但实际上由于各层协议以及网卡驱动等实现技术,MAC地址与IP地址的绑定存在很大的缺陷,并不能真正防止内部IP地址被盗用。 破解MAC与IP地址绑定策略 2.1 IP地址和MAC地址简介 现行的TCP/IP网络是一个四层协议结构,从下往上依次为链路层、网络层、传输层和应用层。 Ethernet协议是链路层协议,使用的地址是MAC地址。MAC地址是Ethernet网卡在Ethernet中的硬件标志,网卡生产时将其存于网卡的EEPROM中。网卡的MAC地址各不相同,MAC地址可以唯一标志一块网卡。在Ethernet上传输的每个报文都含有发送该报文的网卡的MAC地址。 Ethernet根据Ethernet报文头中的源MAC地址和目的MAC来识别报文的发送端和接 收端。IP协议应用于网络层,使用的地址为IP地址。使用IP协议进行通讯,每个IP报文头中必须含有源IP和目的IP地址,用以标志该IP报文的发送端和接收端。在Ethernet上使用IP协议传输报文时,IP报文作为Ethernet报文的数据。IP地址对于Ethernet交换机或处理器是透明的。用户可以根据实际网络的需要为网卡配置一个或多个IP地址。MAC地址和IP地址之间并不存在一一对应的关系。 MAC地址存储在网卡的EEPROM中并且唯一确定,但网卡驱动在发送Ethernet报文时,并不从EEPROM中读取MAC地址,而是在内存中来建立一块缓存区,Ethernet报文从中读取源MAC地址。而且,用户可以通过操作系统修改实际发送的Ethernet报文中的源MAC 地址。既然MAC地址可以修改,那么MAC地址与IP地址的绑定也就失去了它原有的意义。 2.2 破解方案 下图是破解试验的结构示意图。其内部服务器和外部服务器都提供Web服务,防火墙中实现了MAC地址和IP地址的绑定。报文中的源MAC地址与1P地址对如果无法与防火墙中设置的MAC地址与1P地址对匹配,将无法通过防火墙。主机2和内部服务器都是内

获取局域网IP和MAC地址的方法

取得IP的方法很多,比如"局域网查看工具",我推荐用“局域网花名册”网上随便搜索一下就有了。 取得MAC地址的方法:WIN+R,输入CMD,用"NBTSTAT -A IP地址" 查看。不过,我试过好像这能查看自己的ip和mac,如下 C:\Documents and Settings\hike>nbtstat -A 211.69.244.171 本地连接: Node IpAddress: [211.69.244.171] Scope Id: [] NetBIOS Remote Machine Name Table Name Type Status --------------------------------------------- 9D15D457A66C432<00> UNIQUE Registered 9D15D457A66C432<20> UNIQUE Registered WORKGROUP <00> GROUP Registered MAC Address = 00-E0-4A-01-BE-9C 如果查看别人的会显示: C:\Documents and Settings\hike>nbtstat -A 211.69.244.188 本地连接: Node IpAddress: [211.69.244.171] Scope Id: [] Host not found. 取得自己电脑IP与MAC的方法:WIN+R,输入CMD,用"IPCONFIG /ALL" 查看,还有一个快速查看mac的命令:“getmac”,也挺方便的。 下面是我强烈推荐的查看别人ip和mac的命令: 先用ping,ping通每一台机器,然后用arp -a 可列出所有刚才ping通的机器的网卡号。

JAVA实现获取MAC地址

用纯JAVA语言编程读取MAC地址的实现 本文介绍如何在WindowXP/NT/2000环境中,编写纯Java程序,执行外部命令IPCONFIG,并通过分析该命令的输入流而获得本机的MAC地址的编程方法。 1 引言 用Java编写的程序,可以很方便地运行在各种平台的环境。但在实际的开发过程中,有时不得不涉及一些底层的编程。比如为了防止软件盗用,我们希望软件只能在指定计算机上运行,所以需要程序读取该机区分于其它计算机的硬件特征,如MAC地址等。作为一种跨平台语言,给Java语言提出了挑战。本文正是针对该问题,提出一种直接用纯Java语言,读去MAC地址的编程方法。 我们知道,在每一个Java应用程序中都存在着一个与其运行环境相联系的Runtime对象。该对象可执行外部命令、查可用内存等。而多数操作系统都提供有查询该机MAC地址的命令。如在Microsoft的操作系统中,命令IPCONFIG等。本文的思路是在程序中运行一个外部命令,将该命令的运行结果作为一个流(Stream),读取并分析之,进而实现获取MAC地址的目的。 2 Runtime类 在每一个Java 应用程序里面,都有惟一的一个Runtime 对象。通过这个Runtime 对象,应用程序可以与其运行环境发生相互作用。 一般不实例化一个Runtime对象。但是可以通过调用静态方法Runtime.getRuntime( )而获得对当前Runtime对象的引用。Runtime 类的大多数方法是实例方法。 Runtime 对象的作用主要有:执行外部命令;返回空闲内存;运行垃圾回收器;加载动态库等。 Applets和其他不可信赖的程序由于没有引起一个安全异常(SecurityException)而不能调用任何的Runtime方法。 下面的例子演示了怎样使用Runtime 对象运行一个外部命令。 以下是引用片段: : Process process = Runtime.getRuntime().exec("cmd.exe /c dir"); process.waitFor(); : Runtime.getRuntime()返回当前应用程序的Runtime对象,该对象的exec()方法指示Java虚拟机创建一个子进程执行指定的可执行程序,并返回与该子进程对应的Process对象实例。通过Process可以控制该子进程的执行或获取该子进程的信息。第二条语句的目的是等待子进程完成后再往下执行。

关于IP-MAC地址绑定的交换机设置(思科路由器配置)

关于IP-MAC地址绑定的交换机设置(思科路由器配置) 2009年10月27日星期二 15:35 2009-03-01 01:30 注:IP地址与MAC地址的关系: IP地址是根据现在的IPv4标准指定的,不受硬件限制比较容易记忆的地址,长度4个字节。而 MAC地址却是用网卡的物理地址,保存在网卡的EPROM里面,与硬件有关系,比较难于记忆,长度为6个字节。 虽然在TCP/IP网络中,计算机往往需要设置IP地址后才能通讯,然而,实际上计算机之间的通讯并不是通过IP地址,而是借助于网卡的MAC地址。IP地址只是被用于查询欲通讯的目的计算机的MAC地址。 ARP协议是用来向对方的计算机、网络设备通知自己IP对应的MAC地址的。在计算机的ARJ缓存中包含一个或多个表,用于存储IP地址及其经过解析的以太网MAC地址。一台计算机与另一台IP地址的计算机通讯后,在ARP缓存中会保留相应的MAC地址。所以,下次和同一个IP地址的计算机通讯,将不再查询MAC地址,而是直接引用缓存中的MAC地址。 在交换式网络中,交换机也维护一张MAC地址表,并根据MAC地址,将数据发送至目的计算机。(转载注明出处n et130) 为什么要绑定MAC与IP 地址:IP地址的修改非常容易,而MAC地址存储在网卡的EEPROM中,而且网卡的MAC地址是唯一确定的。因此,为了防止内部人员进行非法IP盗用(例如盗用权限更高人员的IP地址,以获得权限外的信息),可以将内部网络的IP地址与MAC地址绑定,盗用者即使修改了IP地址,也因MAC 地址不匹配而盗用失败:而且由于网卡MAC地址的唯一确定性,可以根据MAC地址查出使用该MAC地址的网卡,进而查出非法盗用者。 目前,很多单位的内部网络,都采用了MAC地址与IP地址的绑定技术。下面我们就针对Cisco的交换机介绍一下IP和MAC绑定的设置方案。 在Cisco中有以下三种方案可供选择,方案1和方案2实现的功能是一样的,即在具体的交换机端口上绑定特定的主机的MAC地址(网卡硬件地址),方案3是在具体的交换机端口上同时绑定特定的主机的MAC地址(网卡硬件地址)和IP地址。 1.方案1——基于端口的MAC地址绑定 思科2950交换机为例,登录进入交换机,输入管理口令进入配置模式,敲入命令: Switch#config terminal #进入配置模式 Switch(config)# Interface fastethernet 0/1 #进入具体端口配置模式 Switch(config-if)#Switchport port-secruity #配置端口安全模式 Switch(config-if )switchport port-security mac-address MAC(主机的MAC 地址) #配置该端口要绑定的主机的MAC地址 Switch(config-if )no switchport port-security mac-address MAC(主机的MAC地址) #删除绑定主机的MAC地址

ip地址和mac地址

ip地址和mac地址 ip地址就是你的机器在网络上面的门牌号码,子网掩码的作用就是告诉网络你的机器是处在哪一个小的子网络中。网关是你的机器通过什么服务器来访问的网络。mac地址是网卡在出厂的时候,制造商给网卡赋予的唯一的一个地址标识ip地址就是你的机器在网络上面的门牌号码,子网掩码的作用就是告诉网络你的机器是处在哪一个小的子网络中。网关是你的机器通过什么服务器来访问的网络。mac地址是网卡在出厂的时候,制造商给网卡赋予的唯一的一个地址标识MAC地址 MAC地址1212 一,MAC(Media Access Control, 介质访问控制)MAC地址是烧录在Network Interface Card(网卡,NIC)里的.MAC地址,也叫硬件地址,是由48比特长(6字节),16进制的数字组成.0-23位是由厂家自己分配.24-47位,叫做组织唯一标志符(oganizationally unique ,是识别LAN(局域网)节点的标识。其中第40位是组播地址标志位。网卡的物理地址通常是由网卡生产厂家烧入网卡的EPROM(一种闪存芯片,通常可以通过程序擦写),它存储的是传输数据时真正赖以标识发出数据的电脑和接收数据的主机的地址。 也就是说,在网络底层的物理传输过程中,是通过物理地址来识别主机的,它一般也是全球唯一的。比如,著名的以太网卡,其物理地址是48bit(比特位)的整数,如:44-45-53-54-00-00,以机器可读的方式存入主机接口中。以太网地址管理机构(IEEE)将以太网地址,也就是48比特的不同组合,分为若干独立的连续地址组,生产以太网网卡的厂家就购买其中一组,具体生产时,逐个将唯一地址赋予以太网卡。 形象的说,MAC地址就如同我们身份证上的身份证号码,具有全球唯一性。 如何获取本机的MAC? 对于数量不多的几台机器,我们可以这样获取MAC地址:在Windows 98/Me中,依次单击“开始”→“运行” →输入“winipcfg”→回车。即可看到MAC地址。 在Windows 2000/XP中,依次单击“开始”→“运行”→输入“CMD”→回车→输入“ipconfig /all”→回车。即可看到MAC地址。 修改网卡MAC地址的方法 其实更改网卡MAC地址的功能不论98还是2000,都已经提供了,只是平时大家都没有注意到而以。下面我就说说怎么更改。很简单哦。。。 一,好了,现在先来看看WIN2000。在桌面上网上邻居图标上点右键,选"属性",在出来的"网络和拨号连接"窗口中一般有两个图标,一个是"新建连接"图标,一个是"我的连

修改ip地址和mac地址用命令

WinXP一键更改IP与MAC地址 前一阵子,因为寝室里要不断更换homeshare主机,改IP和MAC成了一项比较麻烦的工序,因此一直想手动编写一个一键更改IP与MAC的批处理文件,查看一些网上方法,发现并不好用。 如,用netsh interface ip命令,该命令介绍如下: ? -显示命令列表 add -向表中添加一个配置项目 delete -从表中删除一个配置项目 dump -显示一个配置脚本 help -显示命令列表 reset -复位tcp/ip 及相关的组件到到干净的状态 set -设置配置信息 show -显示信息 这里我们只用到set命令 如:netsh interface ip set address "本地连接" static 172.30.40.59 255.255.0.0 172.30.3.21 1 某些机器上名称不是本地连接,而是local address一类的,只要替换上述命令中相关内容即可,IP中三项分别对应IP、掩码、网关,最后的“1”是指默认网关的跃点数,一般为“1”。 这样更改IP工作完成。 注:(该方法仅针对固定IP类型,如非固定IP则将netsh一行用以下命令替换) 1.要将指定适配器的静态地址切换为DHCP 地址,键入以下命令:netsh interface ip set address"本地连接" dhcp 2.更改DNS为192.168.0.1:netsh interface ip set DNS "本地连接" static 192.168.0.1 缺点:该方法虽简单易懂,但执行起来速度并不快,需要看使用者电脑配置而定,其主要原因在于更改IP的命令netsh执行较慢。

取得系统中网卡MAC地址的三种方法

取得系统中网卡MAC地址的三种方法 第一种方法使用Microsoft的Netbios API。这是一套通过Winsock提供底层网络支持的命令。使用Netbios的最大缺点是您必须在系统中安装了Netbios 服务(如果您在windows网络中启用了文件共享的话,这就不是问题了)。除此此 外,这种方法又快又准确。 Netbios API只包括了一个函数,就叫做Netbios。这个函数使用网络控制块(network control block)结构作为参数,这个结构告诉函数要做什么。结构的定义如下: typedef struct _NCB { UCHAR ncb_command; UCHAR ncb_retcode; UCHAR ncb_lsn; UCHAR ncb_num; PUCHAR ncb_buffer; WORD ncb_length; UCHAR ncb_callname[NCBNAMSZ]; UCHAR ncb_name[NCBNAMSZ]; UCHAR ncb_rto; UCHAR ncb_sto; void (CALLBACK *ncb_post) (struct _NCB *); UCHAR ncb_lana_num; UCHAR ncb_cmd_cplt; #ifdef _WIN64 UCHAR ncb_reserve[18]; #else UCHAR ncb_reserve[10]; #endif HANDLE ncb_event; } NCB, *PNCB; 重点在于ncb_command 成员。这个成员告诉Netbios该作什么。我们使用三个命令来探测MAC地址。他们在MSDN的定义如下: 命令描述: NCBENUM Windows NT/2000: 列举系统中网卡的数量。使用此命令后,ncb_buffer 成员指向由LANA_ENUM结构填充的缓冲区。 NCBENUM 不是标准的 NetBIOS 3.0 命令。 NCBRESET 重置网卡。网卡在接受新的NCB命令之前必须重置。 NCBASTAT 接受本地或远程接口卡的状态。使用此命令后,ncb_buffer成员指向由ADAPTER_STATUS结构填充的缓冲区,随后是NAME_BUFFER结构的数组。

华为路由器ipmac地址绑定保存配置

1、登录学校路由器:Telnet 学校公网地址(不知道自己的互联网出口地址的可以看一下电脑的网关地址),然后 回车 如:telnet 回车或者Telnet 电脑ip的网关 2、提示你输入路由的用户名和密码,在输入密码的时候是看不到输入的字符的,因为密码设置的为cipher模式。然后敲回车。 3、输入dis arp,查看arp缓存信息 这里记录者目前电脑通过自动获取的IP地址信息。老师们可以将其复制到excel表格里,但是最好能确定mac地址所对应的是哪一台电脑。 4、然后执行system命令,敲回车,进入全局模式会变成[twzx] 5、在全局模式下关闭DHCP ,执行命令undo dhcp enable 回车,下面所有设备将不能自动获取地址,如图 5、在全局模式下输入user-bind static ip-address mac-address xxxx-xxxx-xxxx 敲回车 如下图:对进行绑定(删除绑定在命令前面加入undo) 6、在全局模式下输入:dis dhcp static user-bind all 可查看绑定信息。如图 0001-0001-0001 mac地址的电脑使用。其他mac地址无法使用该IP地址。 8、还有一种方法:使用arp static ,这样也可以做绑定。绑定如图: 以上通过arp绑定的方法需要将局域网内的所有IP与mac进行,例如 一个局域网中有4台电脑,通过arp static绑定了4个电脑对应的ip与mac地址,但是这4台电脑还可以修改为没有做绑定的IP地址进行上网 2222-2222 (黎明) -3333-3333 (刘德华) -4444-4444 (周润发) -5555-5555 (梁朝伟)。 现在黎明的电脑进行了地址绑定,但是黎明可以手动将电脑的地址修改为 所以我们要将子网内的所有地址和mac地址进行绑定 -0000-0000 (这个mac地址一定要用一个假的不存在的地址) 0000-0000 (同样) ……………… 这样绑定以后上面4位明星的电脑只能用他们的地址。 如果现在局域网中又加入一台电脑,想要让他上网的话,假如给他一个地址1 那么需要将192.168.1.6 0000-0000-0000 这条删除,命令是undo。然后在执行arp static 192.168.1.6 mac地址 做完以后记得保存,在视图模式下, 后面输入system 回车后进入全局模【TWZX】, 保存要从全局模式退出,进入视图模式,命令是:【TWZX】quit 回车

wifi下获取ip和mac地址

2. [代码][Java]代码 01//所需的权限 02 03 04 05--------------------------------------------------------------------- 06//布局 07 14 18 19 23------------------------------------------------------------------------------- 24//正文 25p a c k a g e c o m.w i f i; 26 27i m p o r t j a v a.n e t.I n e t A d d r e s s; 28i m p o r t j a v a.n e t.N e t w o r k I n t e r f a c e; 29i m p o r t j a v a.n e t.S o c k e t E x c e p t i o n;

获取以太网卡的MAC地址

获取以太网卡的MAC地址 【实验目的】 1、通过设计获取以太网卡物理地址的程序,初步掌握在应用层访问底层软硬件接口和属性的方法。 2、设计一个程序,使得能够获取本机安装的以太网卡的物理地址。 3、设计一个简单的应用程序,使得该程序只能在装有指定地址网卡的微机上运行。 【实验性质】 综合与设计性实验 【实验条件】 装有以胎网卡并配置网络协议的微机 【实验导读】 1、MAC地址MAC地址是每一个连接到LAN的端口或设备所需要的规范化的数据链 路层地址。MAC地址字长6B(注意也有2B的),由IEEE控制。在数据链路层,数据帧传输的寻址是依照网卡地址进行的。网卡地址可以采用局部地址或全局地址,以太网使用6B即48位的全局地址。对于共享型以太网,传输通过广播实现,各个网卡按照自己的物理地址接受属于自己的数据帧。而在交换式以太网,交换机通过逆向学习方式建立动态的MAC地址--端口映射表,根据该表进行数据帧的转发。当映射表中没有相应表项时再广播发送到各个端口。这种传输机制当然要求网卡MAC地址的唯一性。对一些应用程序来说,获取MAC地址有时是必要的。 【实验内容】 1、Linux编程要点 在Linux下编写获取本机网卡地址的程序,比较简单的方法是利用套接口(socket)和IO接口(ioctl)函数来获取网卡信息,需要引用如下文件: #include #include #include #include #include socket函数的原型是: int socket(int domain,int type, int protocol); 本函数有以下3个输入参数: domain参数:表示所使用的协议族; type参数:表示套接口的类型; protocol参数:表示所使用的协议族中某个特定的协议。 如果函数调用成功,套接口的描述符(非负整数)就作为函数的返回值,假如返回值为-1,就表明有错误发生。 利用socket函数来获取网卡MAC信息时,domain参数取值AF_INET,表示采用internet 协议族;type参数指定为SOCK_DGRAM,表示采用数据报类型套接口,protocol参数在这种组合下只有唯一选择,故用0填充。

如何破解MAC地址与IP地址绑定策略

如何破解MAC地址与IP地址绑定策略 互联网 1 引言 对“IP地址盗用”的解决方案绝大多数都是采取MAC与IP地址绑定策略,这种做法是十分危险的,本文将就这个问题进行探讨。在这里需要声明的是,本文是处于对对MAC与IP地址绑定策略安全的忧虑,不带有任何黑客性质。 1.1 为什么要绑定MAC与IP 地址 影响网络安全的因素很多,IP地址盗用或地址欺骗就是其中一个常见且危害极大的因素。现实中,许多网络应用是基于IP的,比如流量统计、账号控制等都将 IP地址作为标志用户的一个重要的参数。如果有人盗用了合法地址并伪装成合法用户,网络上传输的数据就可能被破坏、窃听,甚至盗用,造成无法弥补的损失。 盗用外部网络的IP地址比较困难,因为路由器等网络互连设备一般都会设置通过各个端口的IP地址范围,不属于该IP地址范围的报文将无法通过这些互连设备。但如果盗用的是Ethernet内部合法用户的IP地址,这种网络互连设备显然无能为力了。“道高一尺,魔高一丈”,对于Ethernet内部的IP 地址被盗用,当然也有相应的解决办法。绑定MAC地址与IP地址就是防止内部IP盗用的一个常用的、简单的、有效的措施。 1.2 MAC与IP 地址绑定原理 IP地址的修改非常容易,而MAC地址存储在网卡的EEPROM中,而且网卡的MAC地址是唯一确定的。因此,为了防止内部人员进行非法IP盗用(例如盗用权限更高人员的IP地址,以获得权限外的信息),可以将内部网络的IP地址与MAC地址绑定,盗用者即使修改了IP地址,也因MAC地址不匹配而盗用失败:而且由于网卡MAC地址的唯一确定性,可以根据MAC地址查出使用该MAC地址的网卡,进而查出非法盗用者。

相关文档
最新文档