日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

使用tcpdump找出PP用户

發布時間:2023/12/14 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用tcpdump找出PP用户 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一般情況下網絡硬件和TCP/IP堆棧不支持接收或發送與本計算機無關的數據包,為了接收這些數據包,就必須使用網卡的混雜模式,并繞過標準的TCP/IP堆棧才行。在FreeBSD下,這就需要內核支持偽設備bpfilter。因此,在內核中取消bpfilter支持,就能屏蔽tcpdump之類的網絡分析工具 (1). tcpdump的選項介紹

   -a    將網絡地址和廣播地址轉變成名字;
   -d    將匹配信息包的代碼以人們能夠理解的匯編格式給出;
   -dd    將匹配信息包的代碼以c語言程序段的格式給出;
   -ddd   將匹配信息包的代碼以十進制的形式給出;
   -e    在輸出行打印出數據鏈路層的頭部信息;
   -f    將外部的Internet地址以數字的形式打印出來;
   -l    使標準輸出變為緩沖行形式;
   -n    不把網絡地址轉換成名字;
   -t    在輸出的每一行不打印時間戳;
   -v    輸出一個稍微詳細的信息,例如在ip包中可以包括ttl和服務類型的信息;
   -vv    輸出詳細的報文信息;
   -c    在收到指定的包的數目后,tcpdump就會停止;
   -F    從指定的文件中讀取表達式,忽略其它的表達式;
   -i    指定監聽的網絡接口;
   -r    從指定的文件中讀取包(這些包一般通過-w選項產生);
   -w    直接將包寫入文件中,并不分析和打印出來;
   -T    將監聽到的包直接解釋為指定的類型的報文,常見的類型有rpc (遠程過程調用)和snmp(簡單網絡管理協議;)

(2). tcpdump的表達式介紹

表達式是一個正則表達式,tcpdump利用它作為過濾報文的條件,如果一個報文滿足表達式的條件,

則這個報文將會被捕獲。如果沒有給出任何條件,則網絡上所有的信息包將會被截獲。在表達式中一般如下幾種類型的關鍵字。

??? 第一種是關于類型的關鍵字,主要包括host,net,port, 例如 host 210.27.48.2,指明210.27.48.2是一臺主機,net 202.0.0.0 指明 202.0.0.0是一個網絡地址,port 23 指明端口號是23。如果沒有指定類型,缺省的類型是host.

??? 第二種是確定傳輸方向的關鍵字,主要包括src , dst ,dst or src, dst and src ,這些關鍵字指明了傳輸的方向。舉例說明,src 10.27.48.2 ,指明ip包中源地址是210.27.48.2 , dst net 202.0.0.0 指明目的網絡地址是202.0.0.0 。如果沒有指明方向關鍵字,則缺省是src or dst關鍵字。

??? 第三種是協議的關鍵字,主要包括fddi,ip,arp,rarp,tcp,udp等類型。Fddi指明是在FDDI(分布式光纖數據接口網絡)上的特定的網絡協議,實際上它是"ether"的別名,fddi和ether具有類似的源地址和目的地址,所以可以將fddi協議包當作ether的包進行處理和分析。其他的幾個關鍵字就是指明了監聽的包的協議內容。如果沒有指定任何協議,則tcpdump將會監聽所有協議的信息包。

??? 除了這三種類型的關鍵字之外,其他重要的關鍵字如下:gateway, broadcast,less,greater,還有三種邏輯運算,取非運算 'not ' '! ', 與運算是'and','&&';或運算 是'or' ,'││';這些關鍵字可以組合起來構成強大的組合條件來滿足人們的需要,下面舉幾個例子來說明。

A想要截獲所有210.27.48.1 的主機收到的和發出的所有的數據包:
#tcpdump host 210.27.48.1

B想要截獲主機210.27.48.1 和主機210.27.48.2 或210.27.48.3的通信,使用命令:(在命令行中適用括號時,一定要
#tcpdump host 210.27.48.1 and (210.27.48.2 or 210.27.48.3 )

C如果想要獲取主機210.27.48.1除了和主機210.27.48.2之外所有主機通信的ip包,使用命令:
#tcpdump ip host 210.27.48.1 and ! 210.27.48.2

D如果想要獲取主機210.27.48.1接收或發出的telnet包,使用如下命令:
#tcpdump tcp port 23 host 210.27.48.1


(3). tcpdump的輸出結果介紹

A,數據鏈路層頭信息
使用命令
#tcpdump --e host ice
ice 是一臺裝有linux的主機,她的MAC地址是0:90:27:58:AF:1A
H219是一臺裝有SOLARIC的SUN工作站,它的MAC地址是8:0:20:79:5B:46;上一條命令的輸出結果如下所示:
21:50:12.847509 eth0 < 8:0:20:79:5b:46 0:90:27:58:af:1a ip 60: h219.33357 > ice.telne
t 0:0(0) ack 22535 win 8760 (DF)

??? 分析:21:50:12是顯示的時間, 847509是ID號,eth0 <表示從網絡接口eth0 接受該數據包,eth0 >表示從網絡接口設備發送數據包, 8:0:20:79:5b:46是主機H219的MAC地址,它表明是從源地址H219發來的數據包. 0:90:27:58:af:1a是主機ICE的MAC地址,表示該數據包的目的地址是ICE . ip 是表明該數據包是IP數據包,60 是數據包的長度, h219.33357 > ice.telnet 表明該數據包是從主機H219的33357端口發往主機ICE的TELNET(23)端口. ack 22535 表明對序列號是222535的包進行響應. win 8760表明發送窗口的大小是8760.

B,ARP包的TCPDUMP輸出信息

使用命令
#tcpdump arp
得到的輸出結果是:
22:32:42.802509 eth0 > arp who-has route tell ice (0:90:27:58:af:1a)
22:32:42.802902 eth0 < arp reply route is-at 0:90:27:12:10:66 (0:90:27:58:af:1a)
分析: 22:32:42是時間戳, 802509是ID號, eth0 >表明從主機發出該數據包, arp表明是ARP請求包, who-has route tell ice表明是主機ICE請求主機ROUTE的MAC地址。 0:90:27:58:af:1a是主機ICE的MAC地址。

C,TCP包的輸出信息
??? 用TCPDUMP捕獲的TCP包的一般輸出信息是:
src > dst: flags data-seqno ack window urgent options
src > dst:表明從源地址到目的地址, flags是TCP包中的標志信息,S 是SYN標志, F (FIN), P (PUSH) , R (RST) "." (沒有標記); data-seqno是數據包中的數據的順序號, ack是下次期望的順序號, window是接收緩存的窗口大小, urgent表明數據包中是否有緊急指針. Options是選項.

D,UDP包的輸出信息

??? 用TCPDUMP捕獲的UDP包的一般輸出信息是:
route.port1 > ice.port2: udp lenth
UDP十分簡單,上面的輸出行表明從主機ROUTE的port1端口發出的一個UDP數據包到主機ICE的port2端口,類型是UDP, 包的長度是lenth


實例 找出內網中使用PP的機器

shell > tcpdump -nn -vv -c 20

12:11:44.636774 219.140.183.152.8094 > 218.22.65.6.20364: [udp sum ok] udp 50 (ttl 63, id 28190, len 78)
12:11:44.637245 218.61.121.80.8094 > 219.140.183.152.8094: [udp sum ok] udp 35 (ttl 112, id 57038, len 63)
12:11:44.638314 219.140.183.152.8094 > 221.136.231.254.60318: udp 58 (ttl 63, id 28191, len 86)
12:11:44.638409 219.140.183.152.8094 > 61.136.86.146.8094: [udp sum ok] udp 34 (ttl 63, id 28192, len 62)
12:11:44.640300 219.140.183.152.1084 > 219.140.22.110.9000: udp 219 (ttl 127, id 6617, len 247)
12:11:44.640422 218.22.65.6.20426 > 219.140.183.152.8094: [udp sum ok] udp 34 (ttl 115, id 21895, len 62)
12:11:44.641942 221.11.113.230.5354 > 219.140.183.152.4692: . 3119087055:3119088483(1428) ack 457192704 win 65391 <nop,nop,timestamp 122655 52684> (DF) (ttl 114, id 64608, len 1480)
12:11:44.642048 61.243.183.147.51023 > 219.140.183.152.8094: udp 1058 (ttl 105, id 62164, len 1086)
12:11:44.642128 219.140.22.110.9000 > 219.140.183.152.1084: udp 147 (ttl 121, id 22960, len 175)
12:11:44.642640 219.140.183.152.4692 > 221.11.113.230.5354: . [tcp sum ok] 1:1(0) ack 4294961536 win 46537 <nop,nop,timestamp 52687 122136,nop,nop,sack sack 3 {4294962952:2808}{9948:10648}{7092:8520} > (DF) (ttl 63, id 28193, len 80)
12:11:44.650168 218.22.65.6.20426 > 219.140.183.152.8094: [udp sum ok] udp 34 (ttl 115, id 21896, len 62)
12:11:44.651346 221.136.231.254.60318 > 219.140.183.152.8094: udp 1058 (ttl 113, id 47202, len 1086)
12:11:44.651584 221.136.231.254.60318 > 219.140.183.152.8094: udp 1058 (ttl 113, id 47203, len 1086)
12:11:44.651875 221.136.231.254.60318 > 219.140.183.152.8094: udp 1058 (ttl 113, id 47204, len 1086)
12:11:44.651967 221.136.231.254.60318 > 219.140.183.152.8094: udp 1058 (ttl 113, id 47205, len 1086)

可以看到有很多本地8094端口出去的包 ,? 我們再來看看這包 是從LAN中哪個機器發出來的
shell > grep -o "src=.*port.*8094" /proc/net/ip_conntrack


src=192.168.0.135 dst=61.136.86.146 sport=8094 dport=8094 src=61.136.86.146 dst=219.140.183.152 sport=8094 dport=8094
src=192.168.0.135 dst=221.208.245.66 sport=8094 dport=61644 src=221.208.245.66 dst=219.140.183.152 sport=61644 dport=8094
src=192.168.0.135 dst=222.95.172.238 sport=8094 dport=8094 src=222.95.172.238 dst=219.140.183.152 sport=8094 dport=8094
src=192.168.0.135 dst=61.243.183.147 sport=8094 dport=51023 src=61.243.183.147 dst=219.140.183.152 sport=51023 dport=8094
src=192.168.0.135 dst=60.7.111.61 sport=8094 dport=3040 src=60.7.111.61 dst=219.140.183.152 sport=3040 dport=8094
src=192.168.0.135 dst=218.244.65.69 sport=8094 dport=8094 src=218.244.65.69 dst=219.140.183.152 sport=8094 dport=8094

可以看到在內網中的135機器 在訪問PP點點通
統計一下這個機器在/proc/net/ip_conntrack里面一共有多少個連接跟蹤?
grep? "src=192.168.0.135" /proc/net/ip_conntrack|wc -l
380

tcpdump -i eth1 src host 192.168.0.135 -vv
12:28:46.387185 192.168.0.135.8094 > 222.170.67.114.8094: udp 1058 (ttl 64, id 47289, len 1086)
12:28:46.387595 192.168.0.135.8094 > 222.170.67.114.8094: udp 1058 (ttl 64, id 47290, len 1086)
12:28:46.387756 192.168.0.135.8094 > 218.244.65.69.8094: udp 1058 (ttl 64, id 47291, len 1086)
12:28:46.387895 192.168.0.135.8094 > 221.227.47.28.8094: udp 1058 (ttl 64, id 47292, len 1086)
12:28:46.388038 192.168.0.135.8094 > 218.244.65.69.8094: udp 1058 (ttl 64, id 47293, len 1086)

根據上面的包來進行匹配

shell > iptables -A FORWARD -s 192.168.0.135 -p udp --sport 8094 -j DROP

?pkts bytes target???? prot opt in???? out???? source?????????????? destination
? 623? 211K DROP?????? udp? --? *????? *?????? 192.168.0.135??????? 0.0.0.0/0?????????? udp spt:8094


立即可以看到600多個包被DROP了

另外我們限制他的TCP 連接也最多只能15個
iptables -A FORWARD -s 192.168.0.135 -p tcp? -m connlimit --connlimit-above 15 -j DROP

附:

PP軟件的封鎖
阻止對220.175.8.100 的http訪問, 即TCP/80port -不能搜索;阻止來源于LAN 的所有IP 對UDP/9090~9099 端囗的所有訪問(不能共享其它PP用戶的文件);阻止來源于LAN 的所有IP 對udp/8094 端囗的所有訪問;阻止來源于LAN 的所有IP對TCP/5354 端囗的所有訪問-不能登錄PP。

結合time和string來管制BT
BT可透過過濾BT種子進行阻絕,由于BT種子文件名稱都為有”.torrent”的字符串,所以我們可以利用這個功能加以過濾。相關的設定為:啟動網頁字符串管制,新增輸入要過濾的關鍵詞”.torrent”即可。時間管制設定全部或到某一時間開始到某一時間失效。可以使用在非工作時間失效, 結合下面的日期, 可以控制在工作天上班時間禁止訪問帶某些關鍵詞的網頁,如果要禁止所有時段,


網絡上流量最大的20個端口
?
排名 端口號 服務名稱
1 4662 Emule、edonkey
2 16881 BitSpirit
3 80 http
4 8094
5 5354 pp點點通、poco
6 7000 傳奇、天驕
7 3077 迅雷
8 2001 聯眾
9 443 https
10 8000 QQ、中國游戲中心、上海熱線游戲頻道
11 1007 聯眾
12 17381
13 22594
14 27005 CS
15 7002 CS1.5
16 27015 CS
17 27016 CS
18 16584
19 10399
20 17130

?



?

<script type=text/javascript charset=utf-8 src="http://static.bshare.cn/b/buttonLite.js#style=-1&uuid=&pophcol=3&lang=zh"></script> <script type=text/javascript charset=utf-8 src="http://static.bshare.cn/b/bshareC0.js"></script> 閱讀(862) | 評論(0) | 轉發(0) | 0

上一篇:/proc/net/ip_conntrack

下一篇:MySql 基礎

相關熱門文章
  • 女性需要這樣去口 @交(組圖)...
  • 女性需要這樣去口 @交(組圖)...
  • 女性需要這樣去口 @交(組圖)...
  • 女性需要這樣去口 @交(組圖)...
  • 女性需要這樣去口 @交(組圖)...
  • linux 常見服務端口
  • 什么是shell
  • linux socket的bug??
  • linux的線程是否受到了保護?...
  • 一個適用于windows和linux的抓...
  • 制作jffs2文件系統
  • make命令詳解
  • nagios 進程突然增多一個...
  • 第七章 進程調度
  • ubuntu安裝tftp服務器
給主人留下些什么吧!~~ 評論熱議

總結

以上是生活随笔為你收集整理的使用tcpdump找出PP用户的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。