1. 程式人生 > >ubuntu 編寫shell指令碼自動抓包

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指令碼,待補充)