• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            隨筆-161  評(píng)論-223  文章-30  trackbacks-0
            描述
               TCP連接跟蹤是網(wǎng)絡(luò)流控和防火墻中的一項(xiàng)重要的基礎(chǔ)技術(shù),當(dāng)運(yùn)用于主機(jī)時(shí),連接必與進(jìn)程相關(guān)聯(lián),要么是主動(dòng)發(fā)出的,要么是被動(dòng)接受的,當(dāng)后代進(jìn)程被動(dòng)態(tài)創(chuàng)建時(shí),由于文件描述符的繼承,一個(gè)連接就會(huì)被這個(gè)進(jìn)程樹(shù)中的所有進(jìn)程共享;當(dāng)一個(gè)進(jìn)程發(fā)出或接受多個(gè)連接時(shí),就擁有了多個(gè)連接。本方法可用于網(wǎng)絡(luò)安全產(chǎn)品中,監(jiān)控TCP連接及所屬進(jìn)程,能準(zhǔn)確并動(dòng)態(tài)地知道一個(gè)連接被哪些進(jìn)程共享,一個(gè)進(jìn)程擁有哪些連接。

            特點(diǎn)

               操作系統(tǒng)自帶的netstat工具只是關(guān)聯(lián)到了一個(gè)根進(jìn)程,無(wú)法看到擁有該連接的所有進(jìn)程,查看進(jìn)程擁有的全部連接也不方便。該方法的特點(diǎn)是實(shí)時(shí)跟蹤、查看連接與進(jìn)程相關(guān)信息方便、支持連接的管控。


            實(shí)現(xiàn)

               本方法通過(guò)內(nèi)核安全的十字鏈表實(shí)現(xiàn)了連接與進(jìn)程的相關(guān)性,連接信息結(jié)構(gòu)體含有一個(gè)所屬進(jìn)程鏈表頭,進(jìn)程信息結(jié)構(gòu)體含有一個(gè)擁有連接鏈表頭,通過(guò)十字鏈表結(jié)點(diǎn)鏈接,x方向鏈接到進(jìn)程的連接鏈表,y方向鏈接到連接的進(jìn)程鏈表,如下圖所示
               進(jìn)程1為根進(jìn)程,進(jìn)程2,...,進(jìn)程n為進(jìn)程1的后代進(jìn)程;連接1,連接2,...,連接n為進(jìn)程1產(chǎn)生的連接。node(x,y)為十字鏈表結(jié)點(diǎn),用于關(guān)聯(lián)連接與進(jìn)程,x對(duì)應(yīng)進(jìn)程編號(hào),y對(duì)應(yīng)連接編號(hào),每個(gè)node包含了所屬的連接和進(jìn)程指針,每行和每列都是一個(gè)雙向循環(huán)鏈表(循環(huán)未畫(huà)出),每個(gè)鏈表用一個(gè)自旋鎖同步操作。
               動(dòng)態(tài)跟蹤的過(guò)程包括4個(gè)方面:進(jìn)程創(chuàng)建、進(jìn)程退出、連接產(chǎn)生、連接銷(xiāo)毀。在Linux下,可通過(guò)攔截內(nèi)核函數(shù)do_fork掛鉤進(jìn)程創(chuàng)建,攔截do_exit掛鉤進(jìn)程退出;可通過(guò)攔截inet_stream_ops的成員函數(shù)connect和accept掛鉤連接產(chǎn)生,攔截成員函數(shù)release掛鉤連接銷(xiāo)毀。下面為4個(gè)方面對(duì)應(yīng)的流程圖,由于所有外層加鎖前已禁止本地中斷和內(nèi)核搶占,因此內(nèi)層加鎖前就不必再禁止本地中斷和內(nèi)核搶占了。

               進(jìn)程創(chuàng)建
               將copy_node插入到c的進(jìn)程鏈表末尾,即為y方向增加(下同);插入到p的連接鏈表末尾,為x方向增加(下同)。

               進(jìn)程退出
               從c的進(jìn)程鏈表中移除node,即為y方向移除(下同);再?gòu)膒的連接鏈表中移除node,即為x方向移除(下同)。


               連接產(chǎn)生
                  當(dāng)進(jìn)程發(fā)出連接或接受連接時(shí),調(diào)用此流程。

               連接銷(xiāo)毀
                  當(dāng)某個(gè)進(jìn)程銷(xiāo)毀連接時(shí),調(diào)用此流程。
            posted on 2016-07-13 11:24 春秋十二月 閱讀(1540) 評(píng)論(0)  編輯 收藏 引用 所屬分類(lèi): System
            久久久久亚洲AV无码专区桃色| 亚洲AV无一区二区三区久久| 久久国产精品成人影院| 亚洲午夜精品久久久久久人妖| 青青草原1769久久免费播放| 日韩十八禁一区二区久久| 成人妇女免费播放久久久| 久久亚洲中文字幕精品一区| 中文字幕久久亚洲一区| 国产午夜精品理论片久久影视| 色老头网站久久网| 韩国三级大全久久网站| 久久综合九色欧美综合狠狠| 久久午夜伦鲁片免费无码| 久久99国产精品久久99小说| 性做久久久久久久久| 久久91精品国产91久久麻豆 | 久久亚洲欧洲国产综合| 亚洲午夜久久久影院伊人| 香蕉久久夜色精品国产2020| 久久久久久毛片免费播放| 中文字幕无码av激情不卡久久| 久久免费高清视频| 久久99精品久久久久婷婷| 久久国产亚洲精品| 久久久久亚洲AV综合波多野结衣| av无码久久久久久不卡网站| 午夜天堂精品久久久久| 国内精品久久国产| 久久天天婷婷五月俺也去| 久久久久亚洲AV无码专区桃色 | 久久久久亚洲av成人网人人软件| 久久综合视频网站| 精品熟女少妇aⅴ免费久久| 国内精品久久久久久久coent| 久久久无码精品亚洲日韩蜜臀浪潮| 亚洲精品第一综合99久久| 无码任你躁久久久久久| 女人高潮久久久叫人喷水| 亚洲а∨天堂久久精品9966| 日本亚洲色大成网站WWW久久|