科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网安全频道ARP静态绑定批处理文件脚本详细讲解

ARP静态绑定批处理文件脚本详细讲解

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

网上流传了很多对付ARP欺骗的批处理脚本,本文是对比较流行的一个脚本加以注释和讲解,希望对广大51CTO网友和网管员有用。

作者:emily 来源:51CTO.com 2008年10月7日

关键字: ARP静态绑定 ARP攻击

  • 评论
  • 分享微博
  • 分享邮件

  网上流传了很多对付ARP欺骗的批处理脚本,本文是对比较流行的一个脚本加以注释和讲解,希望对广大51CTO网友和网管员有用。原批处理文件如下:

  @echo off

  if exist ipconfig.txt del ipconfig.txt

  ipconfig /all >ipconfig.txt

  if exist phyaddr.txt del phyaddr.txt

  find "Physical Address" ipconfig.txt >phyaddr.txt

  for /f "skip=2 tokens=12" %%M in (phyaddr.txt) do set Mac=%%M

  if exist IPAddr.txt del IPaddr.txt

  find "IP Address" ipconfig.txt >IPAddr.txt

  for /f "skip=2 tokens=15" %%I in (IPAddr.txt) do set IP=%%I

  arp -s %IP% %Mac%

  del ipaddr.txt

  del ipconfig.txt

  del phyaddr.txt

  exit

  现在以//开头的为我的解释

  @echo off

  //关闭命令回显

  if exist ipconfig.txt del ipconfig.txt

  //如果存在 ipconfig.txt 这个文件就对其进行删除

  ipconfig /all >ipconfig.txt

  //把 ipconfig /all 命令的显示结果写入 ipconfig.txt

  if exist phyaddr.txt del phyaddr.txt

  //如果存在 phyaddr.txt 这个文件就对其进行删除

  find "Physical Address" ipconfig.txt >phyaddr.txt

  //在 ipconfig.txt 文件里查找 Physical Address 字段的内容并将其字段内容写入 phyaddr.txt

  for /f "skip=2 tokens=12" %%M in (phyaddr.txt) do set Mac=%%M

  //在 phyaddr.txt 文件中从第一行象下跳两行,也就是从第三行开始,从第12个符号处取值,并把该值设置成 MAC 变量,举个例子:Physical Address. . . . . . . . . : 00-E0-FC-0C-A8-4F,每一个连续的数值为一个符号

  符号1:Physical

  符号2:Address.

  符号3:.

  符号4:.

  符号5:.

  符号6:.

  符号7:.

  符号8:.

  符号9:.

  符号10:.

  符号11::

  符号12:00-E0-FC-0C-A8-4F

  tokens=12 的意思现在大家该明白了吧,但是说明一点,FOR 命令中的变量在批处理中是用 %%X 表示,但是在 命令提示符 下输入却是用 %X 表示的,切记

  if exist IPAddr.txt del IPaddr.txt

  find "IP Address" ipconfig.txt >IPAddr.txt

  for /f "skip=2 tokens=15" %%I in (IPAddr.txt) do set IP=%%I

  arp -s %IP% %Mac%

  //以上这些对照我前面的讲解很容易理解

  del ipaddr.txt

  del ipconfig.txt

  del phyaddr.txt

  exit

  //这几句还看不懂的话就未免太``````

  上面的脚本是绑定本机IP和MAC的。

  下面的是绑定 网关IP和MAC的。

  @echo OFF

  if %~n0==arp exit

  if %~n0==Arp exit

  if %~n0==ARP exit

  echo 正在获取本机信息.....

  :IP

  FOR /f "skip=13 tokens=15 usebackq " %%i in (`ipconfig /all`) do Set IP=%%i &&GOTO MAC

  :MAC

  echo IP:%IP%

  FOR /f "skip=13 tokens=12 usebackq " %%i in (`ipconfig /all`) do Set MAC=%%i &&GOTO GateIP

  :GateIP

  echo MAC:%MAC%

  arp -s %IP% %MAC%

  echo 正在获取网关信息.....

  FOR /f "skip=17 tokens=13 usebackq " %%i in (`ipconfig /all`) do Set GateIP=%%i &&GOTO GateMac

  :GateMac

  echo IP:%GateIP%

  FOR /f "skip=3 tokens=2 usebackq " %%i in (`arp -a %GateIP%`) do Set GateMAC=%%i &&GOTO Start

  :Start

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章