用于阻止mac地址的Bash脚本

时间:2017-11-06 12:08:23

标签: linux bash ubuntu

我目前正在设计一个具有bash脚本的linux服务器,每当有人访问该服务器所托管的网站时,该脚本就会运行。这个bash脚本应该做的是提取客户端的新mac地址,并将该mac地址与位于ufw目录中的before.rules文件中的其他文本一起添加。

要从arp中提取mac地址,请使用:

arp -a | grep eth1 | grep -o -E '([[:xdigit:]]{1,2}:){5}[[:xdigit:]]{1,2}'

需要在before.rules中添加的代码行是:

-A ufw-before-input -m mac --mac-source "the extracted mac address" -j DROP

所以任何人都知道我怎么能做这个剧本?

1 个答案:

答案 0 :(得分:0)

定义一个变量以包含您的第一个命令(它为您提供MAC地址),然后输出其中包含该值的第二行代码。

#!/bin/bash

ufwdir='SOME/DIRECTORY'
mac=$(arp -a | grep eth1 | grep -o -E '([[:xdigit:]]{1,2}:){5}[[:xdigit:]]{1,2}')
echo "-A ufw-before-input -m mac --mac-source \"$mac\" -j DROP" >>$UFWDIR/before.rules

重要/免责声明:

  • 使用>>写入文件,如果你使用>它会在添加一行之前截断文件!
  • 我没有测试过这段代码,只是重复使用你问题中的命令。