讓Aircrack-NG自動化-3

因為這個Script最後會放在PI4和HTC U11 Ultra裡,有另個先決條件,是必需要知道的,就是…這兩個設備,連線之後,它的IP是多少。

不一定要連線進去,但總是希望能確認一下,它到底有沒有取得IP。
所以在這張Cron Table裡的第一個Script,get_ip.sh,就是通知我,這個設備取得的IP是多少。通知的方法是發LINE…要發Email也可以,但有點麻煩,我只是想知道IP是多少。


在Linux 作業系統裡,我的習慣是用 ifconfig 這個指令,來取得設備的IP,如下圖,下圖顯示的是一般輸入後的指令,我們可以透過畫面顯示內容,得知IP位置,但如果只要把IP傳LINE給我呢?


這時候,我們需要再精確一點的指令,例如:ifconfig eth0ifconfig wlan0



ifconfig 網卡名稱,會只顯示我們指定的網卡,比上一個ifconfig的內容,還要再精簡一些,但如果把這一堆文字,用LINE傳給我…也不是不行,就…如果這樣也能接受,這世界只要有iPhone第一代就好了…


從網路上查到,可以用grep -Eo ,取出需要的IP位置,
grep -E 是可以用正規化表示式尋找文數字。
grep -o 則是顯示完整匹配的內容。
grep -Eo 就不再多解釋了。


ifconfig eth0 | grep -Eo ‘inet (addr:)?([0-9]*\.){3}[0-9]*’ 結果如下


好像還差一點,因為只需要IP位置,那就再來一次
ifconfig eth0 | grep -Eo ‘inet (addr:)?([0-9]*\.){3}[0-9]*’ | grep -Eo ‘([0-9]*\.){3}[0-9]*’,這樣就可以了。


接下來就是,要在Shell Script裡,將這個IP位置,放到變數裡,語法如下:
get_net_ip=$(ifconfig eth0 | grep -Eo ‘inet (addr:)?([0-9]*\.){3}[0-9]*’ | grep -Eo ‘([0-9]*\.){3}[0-9]*’ )


除了有線網卡,無線網卡也可以用同樣的方式,不過因為無線網卡,可能要在開機後,才會取得IP,所以,可以加個判斷式,如下:
get_wlan_ip=$(ifconfig wlan0 | grep -Eo ‘inet (addr:)?([0-9]*\.){3}[0-9]*’ | grep -Eo ‘([0-9]*\.){3}[0-9]*’ | grep -v ‘127.0.0.1’)
if test -z $get_wlan_ip
then
get_wlan_ip=”還沒找到可以自動取得的地方”
fi
再一次說明,這個Shell Script是自己要用的,所以什麼提示功能、防呆功能或重試功能…完全不考慮。


現在,我們有了兩個變數可以使用,get_net_ip 和 get_wlan_ip。
最後一個步驟,就是把這兩個變數,傳送到我的LINE裡,就算完成了。
至於如何從Linux發LINE給自己,網路上有許多相關文章…可以參考,如果覺得需要另外寫一篇,這方面的介紹,歡迎通知我,我再找時間向大家報告。


最後,PI4開機後的30秒時,便會執行這個get_ip.sh,設定如下:



@reboot sleep 30 && /root/script/get_ip.sh >/dev/null 2>&1


這一行的意思是,重開機後,先睡30秒,再執行get_ip.sh…


下一次,進入aircrack-ng程序…


(待)


2019/11/26 SunAllen


您可能也會喜歡…