激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Linux|Centos|Ubuntu|系統進程|Fedora|注冊表|Bios|Solaris|Windows7|Windows10|Windows11|windows server|

服務器之家 - 服務器系統 - Linux - 舉例講解Linux中tcpdump工具的應用

舉例講解Linux中tcpdump工具的應用

2019-07-11 17:23推酷 Linux

這篇文章主要介紹了Linux中tcpdump工具的應用,tcpdump主要用于抓取網絡數據包,需要的朋友可以參考下

先來看一個比較基本的用法:
 

復制代碼

代碼如下:


tcpdump -i eth0


其中,eth0為參數值,表示需要抓包的網口,這是個必需參數哦。

 

tcpdump的具體參數及意義:

-i:指定tcpdump監聽的網絡接口

-s:指定要監聽數據包的長度

-c:指定要監聽的數據包數量,達到指定數量后自動停止抓包

-w:指定將監聽到的數據包寫入文件中保存

-A:指定將每個監聽到的數據包以ACSII可見字符打印

-n:指定將每個監聽到數據包中的域名轉換成IP地址后顯示

-nn:指定將每個監聽到的數據包中的域名轉換成IP、端口從應用名稱轉換成端口號后顯示

-e:指定將監聽到的數據包鏈路層的信息打印出來,包括源mac和目的mac,以及網絡層的協議

-p:將網卡設置為非混雜模式,不能與host或broadcast一起使用

-r:指定從某個文件中讀取數據包

-S:指定打印每個監聽到的數據包的TCP絕對序列號而非相對序列號


tcpdump支持很多的關鍵字,下面先看幾個例子:

(例1)tcpdump -i eth0 host 192.168.0.250 ----- 在網口eth0上抓取主機地址為192.168.0.250的所有數據包 。

(例2)tcpdump -i eth0 net 192.168.0.0/24 ------ 在網口eth0上抓取網絡地址為192.168.0.0/24的所有數據包

(例3)tcpdump -i eth0 port 80 ------ 在網口eth0上抓取端口為80的所有數據包(注意,這里不區分是源端口還是目的端口)

當然,我們也可以指定源端口或目的端口

(例4)tcpdump -i eth0 src port 80 and dst port 6100 --- 在網口eth0上抓取源端口為80且目的端口為6100的數據包,這里用到了and邏輯運算符

(例5)tcpdump -i eth0 icmp --- 在網口eth0上抓取所有icmp協議的數據包

以上幾個例子,可以大致體現出tcpdump的基本用法。

實際上,tcpdump主要包括三種類型的關鍵字,第一種是關于類型的關鍵字,主要包括host,net,port,如上面的例(1)(2)(3),第二種

是確定傳輸方向的關鍵字,主要包括src,dst,src or dst,src and dst,這些關鍵字指明了傳輸的方向,如上面的例(4)。第三種是協議關鍵字,包括fddi,ip,arp,

rarp,tcp,udp,imcp等,如上面的例(5)。

除了這三種類型的關鍵字外,還有其他重要的關鍵字,如:gateway,broadcast,less,greater,還有三種邏輯運算,取非運算是'not'、'!',與運算符是'and'、'&&'、

或運算符是'or'、'||',這些關鍵字可以組合起來構成強大的組合條件來滿足我們的需求。

借助tcpdump統計http請求
這里所說的統計http請求,是指統計QPS(每秒請求數),統計前十條被訪問最多的url。一般做這樣的統計時,我們經常會使用網站訪問日志來統計。當我們來到一個陌生的服務器環境,需要立即統計當前前十條被訪問最多的url,來初步確定是否存在攻擊行為,使用tcpdump則簡單得多,因為我們不需要關心網站日志在哪,不需要考慮網站日志有沒有開啟之類的問題,直接用tcpdump捕捉當前的http包,再進一步過濾,就會得出我們想要的統計。此功能已集成到EZHTTP,下面是效果圖:
舉例講解Linux中tcpdump工具的應用

下面介紹其統計方法。
1、捕捉10秒的數據包。
 

復制代碼

代碼如下:


tcpdump -i eth0 tcp[20:2]=0x4745 or tcp[20:2]=0x504f -w /tmp/tcp.cap -s 512 2>&1 &
sleep 10
kill `ps aux | grep tcpdump | grep -v grep | awk '{print $2}'`


此命令表示監控網卡eth0,捕捉tcp,且21-22字節字符為GE或者PO,表示匹配GET或者POST請求的數據包,并寫到/tmp/tcp.cap文件。
2、這時候我們得到最新10秒的二進制數據包文件,我們下一步就是通過strings命令來找出GET/POST的url以及Host。

復制代碼

代碼如下:


strings /tmp/tcp.cap | grep -E "GET /|POST /|Host:" | grep --no-group-separator -B 1 "Host:" | grep --no-group-separator -A 1 -E "GET /|POST /" | awk '{url=$2;getline;host=$2;printf ("%s\n",host""url)}' > url.txt


此命令是本文的關鍵,通過strings顯示二進制文件tcp.cap所有可打印字符,然后通過grep和awk過濾出http請求,并把拼接得到的url(包括域名+uri)寫進一個文件url.txt。
3、這時我們拿到了近10秒鐘所有的訪問url,接下來的統計就容易得出,比如:
統計QPS:

復制代碼

代碼如下:


(( qps=$(wc -l /tmp/url.txt | cut -d' ' -f 1) / 10 ))


排除靜態文件統計前10訪問url:

復制代碼

代碼如下:


grep -v -i -E "\.(gif|png|jpg|jpeg|ico|js|swf|css)" /tmp/url.txt | sort | uniq -c | sort -nr | head -n 10

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25
主站蜘蛛池模板: av在线免费观看网 | 欧美69free性videos | 欧美一页 | 久久久tv| 国产欧美精品一区二区三区四区 | 欧日一级片 | 中国a级黄色片 | xnxx 日本19| 免费特黄 | 日本在线播放一区 | 成人情欲视频在线看免费 | 欧美精品v国产精品v日韩精品 | 成人黄视频在线观看 | 青青草华人在线 | 一级电影免费 | 老子午夜影院 | 日本免费一区二区三区四区 | 欧美成人精品h版在线观看 久久久久久三区 | 免费观看一区 | 九九热欧美| 色八影院 | 国产精品高潮99久久久久久久 | 日日噜噜噜夜夜狠狠久久蜜桃 | 成人毛片免费视频 | 午夜精品福利在线观看 | 久久羞羞 | 亚洲网站一区 | 成人一级视频在线观看 | 九九热精品视频在线 | 校花被肉干高h潮不断 | 欧美性生活久久 | 色999国产 | 中国成人在线视频 | 精品久久久久久中文字幕 | 狠狠99| 久操伊人| 久久久久久久久久久久久久久伊免 | 国产毛片自拍 | 国产亚洲欧美日韩在线观看不卡 | 久久精品中文字幕一区二区三区 | 欧美日韩亚洲精品一区二区三区 |