Board logo

标题: [文本处理] 清除文本里面除指定内容以外的内容的批处理(有图) [打印本页]

作者: 骚鸡    时间: 2009-7-27 19:09     标题: 清除文本里面除指定内容以外的内容的批处理(有图)

我要写一个自动清除ARP缓存表的程序,.
因为内网经常遭到ARP攻击,很是郁闷...

思路如下:
先用ARP -S帮定网关的IP与MAC地址,
然后输出当前的ARP缓存表内容到文本文件,
然后用ARP -D 删除 除了我自己手工帮定的网关的IP与MAC地址以外的内容
(就是说ARP缓存表里面只保留我自己设置内容)
然后用FOR循环监视ARP缓存表内容是否有多的,有则删除

我当前的ARP缓存表的内容如图(见附件):
用ARP -A >1.TXT 把ARP缓存表输出到1.TXT,得到的TXT文件内容如下:

Interface: 192.168.1.199 --- 0x2
   Internet Address      Physical Address      Type
  192.168.1.1           00-0a-eb-e7-25-a8     dynamic   
  192.168.1.101         00-0a-cb-e7-25-a8     static   
  192.168.1.104         0b-0a-eb-e7-2b-a8     static   
  192.168.1.111         d8-0a-d0-e7-25-a0     static   
  192.168.1.115         00-eb-eb-d6-b5-c8     static   

我当前的网关IP和MAC:
192.168.1.1   00-0a-eb-e7-25-a8
   
难点在于我不知道怎么去删除多余的内容,只保留我的网关192.168.1.1  00-0a-eb-e7-25-a8 这一条...

希望高手解答一下,先谢谢了~!

[ 本帖最后由 骚鸡 于 2009-7-28 08:46 编辑 ]
作者: Batcher    时间: 2009-7-28 08:55

先删除APR缓存,再绑定,不是更方便吗?
作者: Lumiere    时间: 2009-7-28 09:59     标题: 回复 1楼 的帖子

管理员说的很对,那样简单多了,当然你一定要我行我素的话,以下代码运行一下看看吧。
  1. @echo off@setlocal enabledelayedexpansion
  2. for /f "tokens=1-2" %%a in ('arp -a^|findstr /i ".*-.*-.*-.*-.*"') do arp -s %%a %%b&goto next
  3. :next
  4. for /f "skip=1 tokens=1-2" %%m in ('arp -a^|findstr /i ".*-.*-.*-.*-.*"') do arp -d %%m %%n
  5. pause
复制代码

作者: 骚鸡    时间: 2009-7-28 10:03     标题: 回复 2楼 的帖子

首先感谢大家的关注,感谢管理员的回复~!
问题是:
ARP缓存是可以删除,也可以帮定...问题是别人也可以删除和帮定
(比如病毒什么的)
作者: 骚鸡    时间: 2009-7-28 10:21     标题: 回复 3楼 的帖子

感谢Lumiere朋友:
用了你的代码清除不了其他IP和MAC....
具体效果如下:

ARP: bad argument: 00-0a-cb-e7-25-a8
ARP: bad argument: 0b-0a-eb-e7-2b-a8
ARP: bad argument: d8-0a-d0-e7-25-a0
ARP: bad argument: 00-eb-eb-d6-b5-c8
请按任意键继续. . .
作者: Batcher    时间: 2009-7-28 10:23     标题: 回复 4楼 的帖子

你的意思是按照你顶楼的思路来实现,别人就不能删除了?
作者: 骚鸡    时间: 2009-7-28 10:34     标题: 回复 6楼 的帖子

不是这意思,可能是我顶楼的思路有问题吧~!(表达能力不强,不好意思啊~)
我的意思是随时检测网关的IP和MAC有没有变动,有变动就立即清楚ARP缓存表,然后再马上帮定网关的IP和MAC....
作者: keen    时间: 2009-7-28 11:23     标题: 回复 7楼 的帖子

那你的意思还要有个监视程序,批处理写监视程序很不理想。
可以考虑用VBS写监视程序。
作者: Lumiere    时间: 2009-7-29 08:59     标题: 回复 5楼 的帖子

没有吧,我在我机器上运行就没问题啊。




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2