欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

全量日志抓取方法及裝置的制造方法_2

文檔序號:9846551閱讀:來源:國知局
有按相應(yīng)的規(guī)則將數(shù)據(jù)流進(jìn)行劃分之后,才能獲知其含義;網(wǎng)卡數(shù)據(jù)的數(shù)據(jù)包頭包括:以太頭、IP頭和TCP頭。
[0035]更為具體地,TCP頭的格式定義如下:
[0036]---Source Port是源端口,16位。
[0037]---Destinat1n Port是目的端口,16位。
[0038]---Sequence Number是發(fā)送數(shù)據(jù)包中的第一個字節(jié)的序列號,32位。
[0039]---Acknowledgment Number是確認(rèn)序列號,32位。
[0040]---Data Off set 是數(shù)據(jù)偏移,4位。
[0041 ]---標(biāo)志位:6位。
[0042]---Checksum 是校驗和,16 位。
[0043]---Urgent Pointers是緊急指針,16位,只有URG標(biāo)志位被設(shè)置時該字段才有含義,表示緊急數(shù)據(jù)相對序列號(Sequence Number字段的值)的偏移。
[0044]也就是說,通過解析TCP頭中定義的目的端口可以確定相應(yīng)的虛擬機(jī)。
[0045]步驟S201,解析網(wǎng)卡數(shù)據(jù)的狀態(tài)信息,得到用于建立連接的握手狀態(tài)數(shù)據(jù)包。
[0046]其中,用于建立連接的握手狀態(tài)數(shù)據(jù)包包括:用于建立TCP/IP連接的握手狀態(tài)數(shù)據(jù)包和用于建立數(shù)據(jù)庫連接的握手狀態(tài)數(shù)據(jù)包。
[0047]在本發(fā)明實施例中,網(wǎng)卡數(shù)據(jù)不僅包含有請求數(shù)據(jù)包,還包含有表示狀態(tài)的信息,狀態(tài)信息指連接所處的階段,是握手階段還是已連接階段。在進(jìn)行TCP/IP連接時,需要經(jīng)過三次握手,才可以完成TCP/IP連接。在進(jìn)行數(shù)據(jù)庫連接時,需要經(jīng)過一次握手才可以完成數(shù)據(jù)庫連接。
[0048]在本步驟中,通過對網(wǎng)卡數(shù)據(jù)的狀態(tài)信息進(jìn)行解析,可以得到用于建立連接的握手狀態(tài)數(shù)據(jù)包,通過統(tǒng)計握手狀態(tài)數(shù)據(jù)包的個數(shù),可以確定連接是否建立成功。
[0049]步驟S202,在根據(jù)握手狀態(tài)數(shù)據(jù)包確定連接建立成功后,根據(jù)預(yù)設(shè)協(xié)議,對數(shù)據(jù)流繼續(xù)進(jìn)行解析,得到請求數(shù)據(jù)包。
[0050]其中,預(yù)設(shè)協(xié)議為MySQL協(xié)議,在利用步驟S201得到握手狀態(tài)數(shù)據(jù)包后,根據(jù)握手狀態(tài)數(shù)據(jù)包確定MySQL服務(wù)的客戶端與虛擬機(jī)(MySQL服務(wù)的服務(wù)端)之間的連接建立成功后,根據(jù)MySQL協(xié)議對網(wǎng)卡數(shù)據(jù)進(jìn)行解析,具體指按照協(xié)議規(guī)則對網(wǎng)卡數(shù)據(jù)劃分,從而確定網(wǎng)卡數(shù)據(jù)各部分的含義,例如是請求數(shù)據(jù)還是握手?jǐn)?shù)據(jù)等,得到對應(yīng)的請求數(shù)據(jù)包,并識別出請求數(shù)據(jù)包所對應(yīng)的虛擬機(jī)。
[0051]步驟S203,對數(shù)據(jù)流的特定字節(jié)進(jìn)行解析得到請求數(shù)據(jù)包的類型信息。
[0052]具體地,MySQL協(xié)議定義了數(shù)據(jù)流的第一個字節(jié)表示請求數(shù)據(jù)包的類型,請求數(shù)據(jù)包的類型包括:讀請求、寫請求、查詢請求等。每種類型的請求數(shù)據(jù)包都有唯一的標(biāo)志位,根據(jù)該標(biāo)志位可以確定請求數(shù)據(jù)包所屬的類型,例如當(dāng)?shù)谝粋€字節(jié)的數(shù)值為3時,表示該請求數(shù)據(jù)包類型是:查詢請求。
[0053]步驟S204,對數(shù)據(jù)包頭進(jìn)行解析得到目的端口信息,根據(jù)目的端口信息識別出請求數(shù)據(jù)包所對應(yīng)的虛擬機(jī)。
[0054]在步驟S200中,抓取了實體機(jī)的網(wǎng)卡數(shù)據(jù),該網(wǎng)卡數(shù)據(jù)包括數(shù)據(jù)包頭和數(shù)據(jù)流,其中,數(shù)據(jù)包頭攜帶有虛擬機(jī)的目的端口信息,一般情況下,虛擬機(jī)的目的端口信息封裝在TCP頭中,根據(jù)TCP協(xié)議對TCP頭進(jìn)行解析,可以得到虛擬機(jī)的目的端口信息,根據(jù)該目的端口信息可以識別出請求數(shù)據(jù)包所對應(yīng)的虛擬機(jī),例如,通過解析TCP頭得到目的端口信息為3306,則可以根據(jù)該目的端口信息識別出請求數(shù)據(jù)包對應(yīng)的是a虛擬機(jī),從而可以準(zhǔn)確地將請求日志信息寫入到虛擬機(jī)對應(yīng)的日志文件中。
[0055]步驟S205,根據(jù)請求數(shù)據(jù)包攜帶的信息,向請求數(shù)據(jù)包所對應(yīng)的虛擬機(jī)的日志文件中寫入請求日志信息。
[0056]其中,請求數(shù)據(jù)包攜帶有對數(shù)據(jù)進(jìn)行執(zhí)行的操作等,例如,客戶端想要寫入數(shù)據(jù)A=I,則該請求數(shù)據(jù)包攜帶有信息:A= I,在根據(jù)步驟S204識別出請求數(shù)據(jù)包對應(yīng)的虛擬機(jī)后,將數(shù)據(jù)信息、請求數(shù)據(jù)包的類型信息、請求時間等寫入到請求數(shù)據(jù)包所對應(yīng)的虛擬機(jī)的日志文件中。
[0057]在本發(fā)明優(yōu)選實施例中,還可以通過解析網(wǎng)卡數(shù)據(jù)的上下文信息,得到請求數(shù)據(jù)包。
[0058]這里解析網(wǎng)卡數(shù)據(jù)的上下文信息,主要是為了確定是否已建立連接,例如,通過解析網(wǎng)卡數(shù)據(jù)得到上一次接收的是握手?jǐn)?shù)據(jù),握手?jǐn)?shù)據(jù)包有幾個,從而確定連接是否建立完成,以確定網(wǎng)卡數(shù)據(jù)中是否包含有請求數(shù)據(jù)包。
[0059]根據(jù)本發(fā)明上述實施例提供的方法,通過抓取實體機(jī)的網(wǎng)卡接收到的網(wǎng)卡數(shù)據(jù),可以得到對所有虛擬機(jī)所執(zhí)行的操作,解析網(wǎng)卡數(shù)據(jù)的狀態(tài)信息,得到用于建立連接的握手狀態(tài)數(shù)據(jù)包,在根據(jù)握手狀態(tài)數(shù)據(jù)包確定連接建立成功后,根據(jù)預(yù)設(shè)協(xié)議,對數(shù)據(jù)流繼續(xù)進(jìn)行解析,得到請求數(shù)據(jù)包,以僅將對虛擬機(jī)的操作記錄到日志文件中,避免在日志文件中寫入與操作無關(guān)的信息,對數(shù)據(jù)流的特定字節(jié)進(jìn)行解析得到請求數(shù)據(jù)包的類型信息,對數(shù)據(jù)包頭進(jìn)行解析得到目的端口信息,根據(jù)目的端口信息識別出請求數(shù)據(jù)包所對應(yīng)的虛擬機(jī),根據(jù)請求數(shù)據(jù)包攜帶的信息,向請求數(shù)據(jù)包所對應(yīng)的虛擬機(jī)的日志文件中寫入請求日志信息,僅通過一次寫入操作,便可向所有虛擬機(jī)的日志文件中寫入請求日志信息,克服了因所有的虛擬機(jī)都向?qū)嶓w機(jī)的磁盤寫日志,而造成加重的實體機(jī)負(fù)擔(dān)的缺陷,避免對實體機(jī)CPU的性能、實體機(jī)磁盤的性能造成影響,且便于對日志信息進(jìn)行管理。
[0060]圖3示出了根據(jù)本發(fā)明一個實施例的全量日志抓取裝置的功能框圖。用于抓取一個實體機(jī)所承載的多個虛擬機(jī)的請求日志信息,如圖3所示,該裝置包括:抓取模塊300、解析模塊310和寫入模塊320。
[0061 ]抓取模塊300,適于抓取實體機(jī)的網(wǎng)卡接收到的網(wǎng)卡數(shù)據(jù)。
[0062]—般情況下,一臺實體機(jī)會模擬多臺虛擬機(jī),因此,實體機(jī)會為所模擬的多臺虛擬機(jī)分配相應(yīng)的端口,所有虛擬機(jī)的數(shù)據(jù)等都經(jīng)過實體機(jī)的網(wǎng)卡,因此可以通過解析網(wǎng)卡數(shù)據(jù)得到數(shù)據(jù)對應(yīng)的虛擬機(jī)。
[0063]其中,網(wǎng)卡數(shù)據(jù)包括:數(shù)據(jù)包頭和數(shù)據(jù)流,數(shù)據(jù)流是指一組有順序的、有起點和終點的字節(jié)集合,程序從鍵盤接收數(shù)據(jù)或向文件中寫數(shù)據(jù),以及在網(wǎng)絡(luò)連接上進(jìn)行數(shù)據(jù)的讀寫操作,都可以使用數(shù)據(jù)流來完成,從數(shù)據(jù)流并不能直觀獲知網(wǎng)卡數(shù)據(jù)的含義,只有按相應(yīng)的規(guī)則將數(shù)據(jù)流進(jìn)行劃分之后,才能獲知其含義;網(wǎng)卡數(shù)據(jù)的數(shù)據(jù)包頭包括:以太頭、IP頭和TCP頭。
[0064]更為具體地,TCP頭的格式定義如下:
[0065]---Source Port是源端口,16位。
[0066]---Destinat1n Port是目的端口,16位。
[0067]---Sequence Number是發(fā)送數(shù)據(jù)包中的第一個字節(jié)的序列號,32位。
[0068]---Acknowledgment Number是確認(rèn)序列號,32位。
[0069]---Data Offset是數(shù)據(jù)偏移,4位。
[0070]---標(biāo)志位:6位。
[0071]---Checksum 是校驗和,16 位。
[0072]---Urgent Pointers是緊急指針,16位,只有URG標(biāo)志位被設(shè)置時該字段才有含義,表示緊急數(shù)據(jù)相對序列號(Sequence Number字段的值)的偏移。
[0073]也就是說,通過解析TCP頭中定義的目的端口可以確定相應(yīng)的虛擬機(jī)。
[0074]解析模塊310,適于根據(jù)預(yù)設(shè)協(xié)議,對網(wǎng)卡數(shù)據(jù)進(jìn)行解析,得到請求數(shù)據(jù)包
當(dāng)前第2頁1 2 3 4 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
沈丘县| 明水县| 蓝山县| 安丘市| 冕宁县| 越西县| 鹤岗市| 二手房| 鸡泽县| 印江| 渝中区| 锦州市| 瑞丽市| 西林县| 南丰县| 禹城市| 隆安县| 岳池县| 余姚市| 水富县| 张家港市| 康马县| 苍溪县| 扶沟县| 大安市| 洛南县| 广宁县| 双峰县| 青河县| 甘孜| 平昌县| 巫山县| 六枝特区| 合水县| 神池县| 交城县| 蚌埠市| 凌海市| 嘉荫县| 农安县| 绥德县|