我在 TP-Link TL-WA901N/ND v3 上安装了 openWrt。我没有安装 luci 软件包,因为我没有足够的空间,所以我只能通过 cli 来做事。
我想要实现的是在启动时创建一个 mon0 接口并在其上运行 tcpdump 。我在/etc/init.d 中创建了一个文件并将其命名为monitor。监控文件包含以下内容
#!/bin/sh /etc/rc.common
#to start after /etc/init.d/network is started and stop after it stopped
START=99
STOP=1
start(){
#tried with and without the following two lines
include /lib/network
scan_interfaces
iw phy phy0 interface add mon0 type monitor
ifconfig mon0 up
echo "mon0 is up!"
}
stop(){
ifconfig mon0 down
iw mon0 del
echo "mon0 is down!"
}
然后我运行以下命令
/etc/init.d/monitor enable
在 /etc/rc.d 中,我可以看到 S99monitor 和 K1monitor,但是当我重新启动时,我看不到执行 ifconfig 时创建的 mon0 接口。
如果我手动启动它,这会起作用
/etc/init.d/monitor start
我还尝试将上面的命令添加到 /etc/rc.local 但没有任何改变。
我究竟做错了什么?
答案1
我猜你忘了添加
boot(){
start
}
部分