ubuntu 編寫shell指令碼自動抓包
國慶節之後,好多課結課了,其中一門是實驗課,我們小組的任務是使用wireshark和 編寫ubuntu shell 指令碼抓包
我負責的是編寫shell指令碼抓包
大神們可能覺得超級簡單,可是我是小白,覺得還挺麻煩的。
#!/bin/bash filename='view_history_'`date +%F-%H:%M:%S.pcap` touch $filename #沒有後面的taid則無法退出tcpdump程序 tcpdump -i eno1 -s 0 -A 'tcp[((tcp[12:1] & 0xf0)>>2):4]=0x47455420' -w $filename & tdid='pgrep tcpdump'
while [ "1" = "1" ] do file_size=`du $filename|awk '{print $1}'` echo 'file_size'$file_size #檔案達到100M時,重啟tcpdump if [ $file_size -ge 102400 ] then echo 'data is enough,stop tcpdump,create new file' killall tcpdump #備份名稱,用於後面壓縮 filenameBak=$filename filename='view_history_'`date +%F-%H:%M:%S` touch $filename tcpdump -i br0 -s 0 -A 'tcp[((tcp[12:1] & 0xf0)>>2):4] = 0x47455420' -w filename & tdid='pgrep tcpdump' gzip $filenameBak else echo 'data not enough.' fi sleep 5s done
然後按照要求修改許可權,進行抓包。在抓得過程中開啟火狐瀏覽器,抓到了包。
總結幾個:
sudo tcpdump -i eno1 通過特定的網絡卡抓包,網絡卡在終端中輸入ifconfig -a可以看到,我的網絡卡是eno1
sudo tcpdump host 182.254.38.55 監聽本機跟主機182.254.38.55
之間往來的通訊包
比如:119.75.213.61是百度的ip地址 我們可以sudo tcpdump host 119.75.213.61 然後在另一個終端輸入ping 119.75.213.61 或者用火狐開啟百度的首頁,就可以抓到相應的包
未完待續。。。(不懂shell指令碼,待補充)