命令行实现MAC与IP地址绑定 ip mac绑定 如何绑定mac地址

为什么要绑定IP呢?你指定的IP能上外网不就可以了吗?之所以要绑定IP,是因为他会会改IP。比如我本机上的IP是192.168.1.11此IP已经在防火墙上面做了设定不可以上网,但我要是知道有一个IP是192.168.1.30的IP能上网,那我不会改把192.168.1.11换成192.168.1.30就可以上网了吗?所以绑定IP就是为了防止他改IP。 因为网卡的MAC地址是全球唯一的跟我们的身份证一样,他一但改了,就不认了。那如何绑定呢?

例如我的IP是192.168.1.11,网卡的MAC地址是00-11-2F-3F-96-88(如何看到自己的MAC地址呢?在命令行下输入ipconfig /all, 回应如下:

Physical Address. . . . . . . . . : 00-11-2F-3F-96-88

DHCP Enabled. . . . . . . . . . . : No

IP Address. . . . . . . . . . . . : 192.168.1.11

Subnet Mask . . . . . . . . . . . : 255.255.255.0

Default Gateway . . . . . . . . . : 192.168.1.1

DNS Servers . . . . . . . . . . . : 61.177.7.1

Primary WINS Server . . . . . . . : 192.168.1.254

这些信息就是你现在计算机的IP地址及MAC地址!

接着,在命令行下输入:arp -s 192.168.1.11 00-11-2F-3F-96-88回车。

就绑定了。

如果要查看是否绑定,可以用arp -a 192.168.1.11回车,会得到如下提示:

Internet Address Physical Address Type

192.168.1.30   00-11-2f-3f-96-88 static

就OK了。

如果要刪除呢?命令行下输入:arp -d 192.168.1.30 就刪除了。

绑定网关:

arp -s 192.168.1.1 xx-xx-xx-xx-xx(网关的mac地址)

查看自己的IP地址和网卡的MAC地址。对于Windows 98/Me,运行“winipcfg”,在对话框看的IP地址就是,而“适配器地址”就是网卡的MAC地址。在Windows 2000/XP系统下,要在命令提示符下输入“ipconfig /all”,显示列表中的“Physical Address”就是MAC地址,“IP Address”就是IP地址;要将二者绑定,输入“arp -s IP地址 MAC地址”,如“arp -s 192.168.0.28 54-44-4B-B7-37-21”即可。

还有一种方法是通过专门的局域网网络管理软件、上网行为控制软件来绑定局域网电脑IP地址和MAC地址,防止随意修改IP地址的行为。

目前国内有很多局域网控制软件、网管监控软件,一般都有IP和MAC地址绑定的功能。通常,通过此类网管软件可以轻松扫描到局域网电脑IP地址和MAC地址,然后点点鼠标就可以实现绑定。例如,有一款“聚生网管”软件(下载地址:http://www.grabsun.com/soft.html),只需要在局域网一台电脑安装,就可以扫描到局域网所有电脑的IP地址和MAC地址,然后点点鼠标就可以绑定了,绑定之后局域网电脑将无法修改IP地址和MAC地址,一旦修改之后就无法上网,从而阻止了电脑修改IP地址的行为,如下图所示:

图:进行IP和MAC绑定

同时,通过“聚生网管”软件还可以检测局域网ARP攻击行为,一旦发现局域网ARP攻击行为,将自动输出攻击者的IP地址和MAC地址,从而便于网管员及时排查攻击源主机,保护局域网网络安全。如下图所示:

图:输出ARP攻击

总之,无论是通过操作系统的自带的IP和MAC地址绑定命令,还是借助于专门的局域网网络管理软件都可以实现局域网IP和MAC地址绑定功能,只不过相对于通过命令进行IP和MAC绑定的操作,通过网管监控软件进行IP和MAC地址绑定操作更为简单,也更为人性化。具体采用何种方式,企事业单位可以根据自己的需要进行抉择。

时间: 2008-01-02

iOS获取手机ip地址代码

本文实例为大家分享了iOS获取手机ip地址的具体代码,供大家参考,具体内容如下 #import <ifaddrs.h> #import <arpa/inet.h> // Get IP Address - (NSString *)getIPAddress { NSString *address = @"error"; struct ifaddrs *interfaces = NULL; struct ifaddrs *temp_addr = NULL; int s

Java中使用HttpRequest获取用户真实IP地址

在JSP里,获取客户端的IP地址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的.但是在通过了Apache,Squid,nginx等反向代理软件就不能获取到客户端的真实IP地址了. 如果使用了反向代理软件,将http://192.168.1.110:2046/ 的URL反向代理为 http://www.jb51.net / 的URL时,用request.getRemoteAddr()方法获取的IP地址是:127.0.0.1 或 192.168.1.110

PHP 获取客户端真实IP地址多种方法小结

经过复杂的判断与算是的获取IP地址函数 复制代码 代码如下: function getIP() { if (getenv('HTTP_CLIENT_IP')) { $ip = getenv('HTTP_CLIENT_IP'); } elseif (getenv('HTTP_X_FORWARDED_FOR')) { $ip = getenv('HTTP_X_FORWARDED_FOR'); } elseif (getenv('HTTP_X_FORWARDED')) { $ip = getenv('

Android手机获取IP地址的两种方法

1.使用WIFI 首先设置用户权限 复制代码 代码如下: <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"></uses-permission>  <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"></uses-permission>  <

JSP 获取真实IP地址的代码

但是在通过了 Apache,Squid等反向代理软件就不能获取到客户端的真实IP地址了.如果使用了反向代理软件,用 request.getRemoteAddr()方法获取的IP地址是:127.0.0.1或 192.168.1.110,而并不是客户端的真实IP. 经过代理以后,由于在客户端和服务之间增加了中间层,因此服务器无法直接拿到客户端的 IP,服务器端应用也无法直接通过转发请求的地址返回给客户端.但是在转发请求的HTTP头信息中,增加了X-FORWARDED-FOR信息.用以跟踪原有的客户端

ASP.NET获取真正的客户端IP地址的6种方法

在ASP中使用 Request.ServerVariables("REMOTE_ADDR") 来取得客户端的IP地址,但如果客户端是使用代理服务器来访问,那取到的就是代理服务器的IP地址,而不是真正的客户端IP地址. 要想透过代理服务器取得客户端的真实IP地址,就要使用 Request.ServerVariables("HTTP_X_FORWARDED_FOR") 来读取. 不过要注意的事,并不是每个代理服务器都能用 Request.ServerVariables(

Windows下用命令行修改IP地址的方法详解(附批处理文件)

由于我所处的地方要经常在不同的网络之间切换,比如局域网.系统内部网和外网(光是外网我要常常在3个ADSL网之间切换).我之前一直用的方法是在本机上设置多个不同网段的IP,然后切换路由(Route),这样不同的网段通过不同的网关出去,就可以达到同时访问多个网络的目的.但是这样我发现经常可能出现一些问题,所以我决定用最原始的方法来解决,那就是在要使用某一个网段的时候就只用这个网段的IP,这样就需要不停的更换IP地址.当然,在Windows的"网络连接"属性中这样的更改是很麻烦的,不过还好的

python 获取本机ip地址的两个方法

第一种: 复制代码 代码如下: import socket import fcntl import struct def get_ip_address(ifname): s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) return socket.inet_ntoa(fcntl.ioctl( s.fileno(), 0x8915, # SIOCGIFADDR struct.pack('256s', ifname[:15]) )[20:24]

JS获取客户端IP地址、MAC和主机名的7个方法汇总

今天在搞JS(javascript)获取客户端IP的小程序,上网搜了下,好多在现在的系统和浏览器中的都无效,很无奈,在Chrome.FireFox中很少搞到直接利用ActiveX获取IP等的JS脚本.下面的代码是我在所有windowsNT5.0及以上的系统上都测试通过的,给出代码: 一.使用JS获取客户端IP的几个方法 方法一(只针对IE且客户端的IE允许AcitiveX运行,通过平台:XP,SERVER03,2000). 获取客户端IP代码: 复制代码 代码如下: <HTML> <HE

Shell脚本中获取本机ip地址的3个方法

方法一: 复制代码 代码如下: /sbin/ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "addr:" or /sbin/ifconfig|sed -n '/inet addr/s/^[^:]*:\([0-9.]\{7,15\}\) .*/\1/p' 方法二: 复制代码 代码如下: local_host="`hostname --fqdn`" local_i

Linux Shell脚本中获取本机ip地址方法

方法一:ifconfig -a ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk '{print $2}'|tr -d "addr:" 命令解析 ifconfig -a  和window下执行此命令一样道理,返回本机所有ip信息 grep inet                  截取包含ip的行 grep -v 127.0.0.1      去掉本地指向的那行 grep -v inet6             去掉

vue在手机中通过本机IP地址访问webApp的方法

vue中通过localhost:8080,就可以访问浏览项目,但是如果改成本机IP则会报错 通过localhost:8080访问效果 通过本机IP显示效果 如果想通过手机输入本机IP访问需要在package.json中配置 package.json配置 最后在手机通过IP就可以访问到webApp,或借助草料二维码生成修改后项目地址的二维码,掏出手机扫一扫即可~ 通过机IP访问效果 Tips:需要手机和电脑在一个局域网(wifi)下 总结 以上所述是小编给大家介绍的vue在手机中通过本机IP地址访

Shell脚本中通过正则表达式匹配IP地址

在运维场景下,我们经常需要在服务器上用正则表达式来匹配IP地址. shell和其它编程语言一样,也可以使用正则分组捕获,不过不能使用 $1或\1这样的形式来捕获分组,可以通过数组${BASH_REMATCH}来获得,如${BASH_REMATCH[1]},${BASH_REMATCH[N]} 下面以ip="121.0.2.2"为例,shell脚本代码如下(当然,你要做成更通用交互式的脚本,可以通过expect来实现): 复制代码 代码如下: #!/bin/bash ip="1

java如何获取本机IP地址

本文实例为大家分享了java实现获取本机IP地址的具体代码,供大家参考,具体内容如下 原因:同一台机子上开着两个web工程,现在有需求需要保证两个项目之间交互的安全问题.因为有个旧的项目,所以尽量不做改动.只能在新项目中做改动. 处理办法:获取本地的IP地址,有请求进来时查看请求的来源,只有来源是本地IP的才予以通过. 代码如下: /** * 任务调度调用拦截器 */ public class TaskControlInterceptor implements Interceptor { //存

python在Windows8下获取本机ip地址的方法

本文实例讲述了python在Windows8下获取本机ip地址的方法.分享给大家供大家参考.具体实现方法如下: import socket hostname = socket.gethostname() IPinfo = socket.gethostbyname_ex(hostname) LocalIP = IPinfo[2][2] print LocalIP 希望本文所述对大家的Python程序设计有所帮助.

C#获取本机IP地址和Mac地址的方法

本文实例讲述了C#获取本机IP地址和Mac地址的方法.分享给大家供大家参考.具体分析如下: 查找了几个方法,经过调试修改,下面这个方法能很好的获取到本地的IP和MAC地址.可以用于这方面的功能实现.主要是要添加System.Management的引用. using System; using System.Management; using System.Net; public class Program { static void Main(string[] args) { try { str

获取本机IP地址的实例(JavaScript / Node.js)

--web 客户端JavaScript <!-- 调用方式 --> <body onload="checkCookie()"></body> function getYourIP() { const RTCPeerConnection = window.RTCPeerConnection || window.webkitRTCPeerConnection || window.mozRTCPeerConnection; if (RTCPeerConne

在shell脚本中获取上个月最后一天的日期方法

linux中用date命令来获取上个月最后一天的日期: $ date -d"`date +%Y%m01` last day" +%Y%m%d 20161231 编写脚本getdate.sh: #! /bin/sh nowdate=`date +%Y%m01` #本月第一天 startdate=`date -d"$nowdate last month" +%Y%m%d` #上个月第一天 enddate=`date -d"$nowdate last day&q