ssh admin@[firewall ip] "diagnose sniffer packet [your wan port.eg:port2] 'tcp and port 1863' 3 " > [logfile]
例如:
ssh admin@10.10.79.1 "diagnose sniffer packet port4 'tcp and port 1863' 3 " > today.log
10.10.79.1 是防火墻ip port4是外網(wǎng)端口, 1863是msn messenger 使用的tcp 端口 ,最后把結(jié)果抓到文件 today.log
抓下來(lái)的文件片段如下:
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
.@
C
Hj@.
0x0020 2251 1597 0747 2430 2621 4801 7ab5 5018 "Q
G$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
..O
a.G..E.
0x0010 00bf 21ea 4000 7106 31da 4004 2280 0a0a ..!.@.q.1.@."
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
..O
a.G..E.
0x0010 0034 fa12 4000 6f06 5ce8 4004 2251 0a0a .4..@.o.\.@."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
..O
a.G..E.
0x0010 00bf 088b 4000 6f06 72ef cf2e 6e17 0a0a
.@.o.r
n
0x0020 486f 0747 06f0 fc97 eefa 0b6b e0dc 5018 Ho.G
.k..P.
0x0030 fb6d 4ee9 0000 5542 5820 7979 666f 7831 .mN
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
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


0x0010 00ac 0295 4000 7f06 43ee 0a0a 486a 4004



0x0020 2251 1597 0747 2430 2621 4801 7ab5 5018 "Q

0x0030 ffff a6ef 0000 5555 5820 3635 3130 2031


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


0x0010 00bf 21ea 4000 7106 31da 4004 2280 0a0a ..!.@.q.1.@."

0x0020 48e7 0747 06c1 b499 5749 f2e2 f2ae 5018 H..G


0x0030 feac 0c89 0000 5542 5820 7979 666f 7831


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


0x0010 0034 fa12 4000 6f06 5ce8 4004 2251 0a0a .4..@.o.\.@."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


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


0x0010 00bf 088b 4000 6f06 72ef cf2e 6e17 0a0a



0x0020 486f 0747 06f0 fc97 eefa 0b6b e0dc 5018 Ho.G


0x0030 fb6d 4ee9 0000 5542 5820 7979 666f 7831 .mN

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
粗略看下 結(jié)果,絕大多數(shù)是協(xié)議控制包,和msn機(jī)器人發(fā)的消息報(bào),我統(tǒng)計(jì)下來(lái) 平均 每10000個(gè)包里面,實(shí)際消息包不到100個(gè),即不到1%,所以需要寫(xiě)腳本,刷選出來(lái)消息。
為了分析TCP報(bào),可以使用dpkt這個(gè)python moudle。通過(guò)處理結(jié)果文件,將文本格式的包數(shù)據(jù),轉(zhuǎn)換成實(shí)際的二進(jìn)制數(shù)組,傳給dpkt,通過(guò)它生成結(jié)構(gòu)化的以太網(wǎng)包對(duì)象。
例如一個(gè)以太網(wǎng)包 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為原和目的端口。實(shí)際的協(xié)議層數(shù)據(jù)為pkt.data.data.data,通過(guò)對(duì)捕捉到的包簡(jiǎn)單分析,有消息的包都包涵 字符“Content-Type: text/plain”,所以可以寫(xiě)個(gè)簡(jiǎn)單的正則表達(dá)式來(lái)找出包涵消息的報(bào)文。
原本打算發(fā)出代碼和示例的,因?yàn)榇a是趕工的,寫(xiě)的很簡(jiǎn)陋 ,純粹 it just work這種的,就不拿出來(lái)獻(xiàn)丑了。打算重新整理一下,再做個(gè)界面,希望能抓緊時(shí)間盡快做好吧。