Forigate 防火墙的抓包 及 Msn messenger 包分析

Forigate 防火墙的抓包 及 Msn messenger 包分析
Forigate 防护墙有专门的记录设备,不过为了省钱,我们没去买。不过我们可以用ssh 把输出保存到本地慢慢分析,格式
ssh admin@[firewall ip] "diagnose sniffer packet [your wan port.eg:port2]  'tcp and port 1863'  3 "  >  [logfile]
例如:
ssh [email protected] "diagnose sniffer packet port4  'tcp and port 1863'  3 "  > today.log
10.10.79.1 是防火墙ip port4是外网端口, 1863是msn messenger 使用的tcp 端口 ,最后把结果抓到文件  today.log

抓下来的文件片段如下:
Fortigate-1000A # nr = 8192 , fr = 1664 , b_nr = 4096 , pg = 4096
1.497684   10.10.72.106.5527  ->  64.4.34.81.1863 : psh  607135265  ack  1208056501  
0x0000     
0009  0f61  0747  000b 5fcd  2e00   0800   4500     a.G.._..E.
0x0010     00ac 
0295   4000  7f06 43ee 0a0a 486a  4004     .@CHj@.
0x0020     
2251   1597   0747   2430   2621   4801  7ab5  5018      " QG$0&!H.z.P.
0x0030     ffff a6ef 0000 5555 5820 3635 3130 2031    UUX.6510.1
0x0040     3138 0d0a 3c44 6174 613e 3c50 534d 3e3c    18..<Data><PSM><
0x0050     2f50 534d 3e3c 4375 7272 656e 744d 6564    /PSM><CurrentMed
0x0060     6961 3e3c 2f43 7572 7265 6e74 4d65 6469    ia></CurrentMedi
0x0070     613e 3c4d 6163 6869 6e65 4775 6964 3e7b    a><MachineGuid>{
0x0080     4446 3139 3630 4435 2d37 4232 352d 3444    DF1960D5-7B25-4D
0x0090     3630 2d39 3044 322d 3430 3834 3131 3430    60-90D2-40841140
0x00a0     3939 3038 7d3c 2f4d 6163 6869 6e65 4775    9908}</MachineGu
0x00b0     6964 3e3c 2f44 6174 613e                   id></Data>

1.717049 64.4.34.128.1863 -> 10.10.72.231.1729: psh 3029948233 ack 4074959534 
0x0000     0000 0c07 ac4f 0009 0f61 0747 0800 4500    ..Oa.G..E.
0x0010     00bf 21ea 4000 7106 31da 4004 2280 0a0a    [email protected].@.
"
0x0020     
48e7   0747  06c1 b499  5749  f2e2 f2ae  5018     H..G.WI.P.
0x0030     feac 0c89 
0000   5542   5820   7979  666f  7831     UBX.yyfox1
0x0040     
3937   3540  686f 746d  6169  6c2e 636f 6d20     975 @hotmail.com.
0x0050     
3120   3131  380d 0a3c  4461   7461  3e3c  5053      1.118 ..<Data><PS
0x0060     4d3e 3c2f 
5053  4d3e 3c43  7572   7265   6e74     M></PSM><Current
0x0070     4d65 
6469  613e 3c2f  4375   7272  656e 744d    Media></CurrentM
0x0080     
6564   6961  3e3c 4d61  6368  696e  6547   7569     edia><MachineGui
0x0090     643e 7b44 
4631   3936   3044  352d  3742   3235     d>{DF1960D5-7B25
0x00a0     2d34 
4436  302d  3930   4432  2d34  3038   3431     -4D60-90D2- 40841
0x00b0     
3134   3039   3930  387d 3c2f 4d61  6368  696e     1409908 }</Machin
0x00c0     
6547   7569  643e 3c2f  4461   7461  3e           eGuid></Data>

1.725733   64.4.34.81.1863  ->  10.10.72.106.5527 : psh  1208056501  ack  607135397  
0x0000     
0000  0c07 ac4f  0009  0f61  0747   0800   4500     ..Oa.G..E.
0x0010     
0034  fa12  4000  6f06 5ce8  4004   2251  0a0a     .4 [email protected].\.@. " Q..
0x0020     486a 0747 1597 4801 7ab5 2430 26a5 5018    Hj.G..H.z.$0&.P.
0x0030     facc 93ab 0000 5555 5820 3635 3130 2030    UUX.6510.0
0x0040     0d0a                                       ..

1.727768 207.46.110.23.1863 -> 10.10.72.111.1776: psh 4237815546 ack 191619292 
0x0000     0000 0c07 ac4f 0009 0f61 0747 0800 4500    ..Oa.G..E.
0x0010     00bf 088b 4000 6f06 72ef cf2e 6e17 0a0a    [email protected]n
0x0020     486f 0747 06f0 fc97 eefa 0b6b e0dc 5018    Ho.G.k..P.
0x0030     fb6d 4ee9 0000 5542 5820 7979 666f 7831    .mNUBX.yyfox1
0x0040     3937 3540 686f 746d 6169 6c2e 636f 6d20    [email protected].
0x0050     3120 3131 380d 0a3c 4461 7461 3e3c 5053    1.118..<Data><PS

粗略看下 结果,绝大多数是协议控制包,和msn机器人发的消息报,我统计下来 平均 每10000个包里面,实际消息包不到100个,即不到1%,所以需要写脚本,刷选出来消息。

为了分析TCP报,可以使用dpkt这个python moudle。通过处理结果文件,将文本格式的包数据,转换成实际的二进制数组,传给dpkt,通过它生成结构化的以太网包对象。

例如一个以太网包 pkt,其pkt.src和pkt.dest分别为原和目的端mac地址,其pkt.data为所包涵的ip包.所以pkt.data.src和pkt.data.dest就是原和目的端ip地址。pkt.data.data为ip包所包涵的tcp包,pkt.data.data.dport和pkt.data.data.sport为原和目的端口。实际的协议层数据为pkt.data.data.data,通过对捕捉到的包简单分析,有消息的包都包涵  字符“Content-Type: text/plain”,所以可以写个简单的正则表达式来找出包涵消息的报文。

原本打算发出代码和示例的,因为代码是赶工的,写的很简陋 ,纯粹 it just work这种的,就不拿出来献丑了。打算重新整理一下,再做个界面,希望能抓紧时间尽快做好吧。

你可能感兴趣的:(Forigate 防火墙的抓包 及 Msn messenger 包分析)