#yyds干货盘点# web安全day36(Linux脚本编写自动修改IP地址)

时人不识凌云木,直待凌云始道高。这篇文章主要讲述#yyds干货盘点# web安全day36:Linux脚本编写自动修改IP地址相关的知识,希望能为你提供帮助。
linux的脚本类似于windows的批处理。
理解脚本的作用我们的需求是:上午9点设定eth0网卡ip为192.168.1.100/24 网关为192.168.1.254.下午2点重新设eth0网卡ip为172.16.1.100/24,网关为172.16.1.254
如果我们每天都这么操作,耗时耗力。我们希望用一个自动化的方式来自动修改。
我们可以使用

echo "" > /etc/sysconfig/network-scripts/ifcfg-ens38

清空网卡的信息。
然后使用
echo "DEVICE=ens38"> > ifcfg-ens38
echo "TYPE=Ethernet"> > ifcfg-ens38
echo "ONBOOT=yes"> > ifcfg-ens38
echo "BOOTPROTO=static"> > ifcfg-ens38
echo "IPADDR=192.168.1.100"> > ifcfg-ens38
echo "NETMASK=255.255.255.0"> > ifcfg-ens38
echo "GATEWAY=192.168.1.254"> > ifcfg-ens38

逐条将网卡信息写入进去。
重启网卡,使其生效。
ifdown ens-38
ifup ens-38

这个步骤是比较麻烦的,我们希望将其写在一个文件中,通过运行该文件来更改网络信息。我们写的这个文件就是脚本。
这也就是脚本的作用,即简化人工操作流程。
脚本自动修改ip我们新建一个fixip.sh的文件
在其中写入以下内容。

给fixip.sh文件可执行权限
chmod +x fixip.sh


使用
./fixip.sh

命令执行这个文件

检查是否执行成功

如果需求变更为随机指定不同的ip进行修改
所以我们希望这个脚本是一个交互式的脚本,即我们可手动输入ip地址,网关和子网掩码。
这就涉及到变量赋值。
我们简单理解以下变量赋值的概念
变量赋值
A=

这句话的意思是将hello赋值给A这个变量。
我们可以使用
echo $A 或者 echo "$A"

来查看变量的值
【#yyds干货盘点# web安全day36(Linux脚本编写自动修改IP地址)】
我们可以通过这种方式实现将需要修改的ip地址存放在一个变量中。
read -p "please input ipaddr:" IP


我们将之前的脚本进行修改

read -p "please input ipaddr:" IP
read -p "please input netmask:" MASK
read -p "please input gateway:" GATEWAY
cd /etc/sysconfig/network-scripts/
echo "DEVICE=ens38"> > ifcfg-ens38
echo "TYPE=Ethernet"> > ifcfg-ens38
echo "ONBOOT=yes"> > ifcfg-ens38
echo "BOOTPROTO=static"> > ifcfg-ens38
echo "IPADDR=$IP"> > ifcfg-ens38
echo "NETMASK=$MASK"> > ifcfg-ens38
echo "GATEWAY=$GATEWAY"> > ifcfg-ens38
ifdown ens38
ifup ens38


修改成功


    推荐阅读