在GNULinux中如何得到一個進程當前的流量
在GNULinux中如何得到一個進程當前的流量
主要分為以下幾個步驟。(1)、通過使用抓包Libpcap庫技術,對網絡流量包進行獲取,從而可以得到每個網絡通信包的五元組(源地址、目標地址、源端口、目標端口、協議號)信息和當前包的流量大小,得到這些信息后建立一個表,此表中的同一會話的包大小信息會隨著此會話的不斷交互而累加數據包的大小。(2)、通過對/proc/下的所有進程的fd/目錄下的所有鏈接進行遍歷查看link的值,將遍歷到的所有包含socket:開頭的連接,將進程號與遍歷所得的對應進程號、進程對應的所有socket ;fd對應的inode號進行建表。在命令行可以輸入以下命令進行某一進程的當前網絡連接情況查看,如下(以firefox為例)。#get ;PID ;of ;firefox。
導讀主要分為以下幾個步驟。(1)、通過使用抓包Libpcap庫技術,對網絡流量包進行獲取,從而可以得到每個網絡通信包的五元組(源地址、目標地址、源端口、目標端口、協議號)信息和當前包的流量大小,得到這些信息后建立一個表,此表中的同一會話的包大小信息會隨著此會話的不斷交互而累加數據包的大小。(2)、通過對/proc/下的所有進程的fd/目錄下的所有鏈接進行遍歷查看link的值,將遍歷到的所有包含socket:開頭的連接,將進程號與遍歷所得的對應進程號、進程對應的所有socket ;fd對應的inode號進行建表。在命令行可以輸入以下命令進行某一進程的當前網絡連接情況查看,如下(以firefox為例)。#get ;PID ;of ;firefox。
系統大全為您提供主要分為以下幾個步驟:(1)、通過使用抓包Libpcap庫技術,對網絡流量包進行獲取,從而可以得到每個網絡通信包的五元組(源地址、目標地址、源端口、目標端口、協議號)信息和當前包的流量大小,得到這些信息后建立一個表,此表中的同一會話的包大小信息會隨著此會話的不斷交互而累加數據包的大小。(2)、通過對/proc/下的所有進程的fd/目錄下的所有鏈接進行遍歷查看link的值,將遍歷到的所有包含socket:開頭的連接,將進程號與遍歷所得的對應進程號、進程對應的所有socket?fd對應的inode號進行建表。在命令行可以輸入以下命令進行某一進程的當前網絡連接情況查看,如下(以firefox為例):#get?PID?of?firefoxv0id@v0id:~$?ps?aux?|?grep?firefoxv0id?2143?7.8?21.0?1138824?433960???Sl?11:19?44:36?/usrb/firefox/firefox得到firefox的進程號為2143,那么查看此進程的fd下的文件描述符,使用以下命令即可看到此進程下目錄下的有關socket的文件描述符信息,readlink后的結果中有socket開頭的即為網絡連接使用的fd(文件描述符),緊接在socket:后的即為fd的inode號,執行命令如下:v0id@v0id:~$?ll?/proc/2143/?|?grep?socketlrwx------?1?v0id?v0id?64?11月?19?11:19?10?->?socket:[27273]lrwx------?1?v0id?v0id?64?11月?19?20:48?101?->?socket:[3726782]lrwx------?1?v0id?v0id?64?11月?19?11:19?13?->?socket:[27336]lrwx------?1?v0id?v0id?64?11月?19?11:19?14?->?socket:[27337]lrwx------?1?v0id?v0id?64?11月?19?11:19?21?->?socket:[28264]lrwx------?1?v0id?v0id?64?11月?19?20:48?30?->?socket:[29375]lrwx------?1?v0id?v0id?64?11月?19?20:48?31?->?socket:[29692]lrwx------?1?v0id?v0id?64?11月?19?20:48?32?->?socket:[30810]lrwx------?1?v0id?v0id?64?11月?19?20:48?33?->?socket:[30812]lrwx------?1?v0id?v0id?64?11月?19?20:48?36?->?socket:[31803]lrwx------?1?v0id?v0id?64?11月?19?11:19?4?->?socket:[26607]lrwx------?1?v0id?v0id?64?11月?19?20:48?40?->?socket:[31071]lrwx------?1?v0id?v0id?64?11月?19?20:48?41?->?socket:[31073]lrwx------?1?v0id?v0id?64?11月?19?20:52?44?->?socket:[5245647]lrwx------?1?v0id?v0id?64?11月?19?20:52?69?->?socket:[5244897]lrwx------?1?v0id?v0id?64?11月?19?20:52?71?->?socket:[5248187]lrwx------?1?v0id?v0id?64?11月?19?20:52?72?->?socket:[5246226]lrwx------?1?v0id?v0id?64?11月?19?20:52?75?->?socket:[5246227]lrwx------?1?v0id?v0id?64?11月?19?20:52?76?->?socket:[5246228]lrwx------?1?v0id?v0id?64?11月?19?20:52?77?->?socket:[5248188]lrwx------?1?v0id?v0id?64?11月?19?20:52?78?->?socket:[5248189]lrwx------?1?v0id?v0id?64?11月?19?20:52?79?->?socket:[5246239]lrwx------?1?v0id?v0id?64?11月?19?20:48?80?->?socket:[3726781]lrwx------?1?v0id?v0id?64?11月?19?20:52?81?->?socket:[5248214]lrwx------?1?v0id?v0id?64?11月?19?20:52?82?->?socket:[5248217]lrwx------?1?v0id?v0id?64?11月?19?20:52?83?->?socket:[5246330]lrwx------?1?v0id?v0id?64?11月?19?20:52?84?->?socket:[5248215]lrwx------?1?v0id?v0id?64?11月?19?20:52?85?->?socket:[5246331]lrwx------?1?v0id?v0id?64?11月?19?20:52?86?->?socket:[5248216]lrwx------?1?v0id?v0id?64?11月?19?20:52?87?->?socket:[5248218]lrwx------?1?v0id?v0id?64?11月?19?20:52?88?->?socket:[5249212]lrwx------?1?v0id?v0id?64?11月?19?20:48?89?->?socket:[37239]lrwx------?1?v0id?v0id?64?11月?19?11:19?9?->?socket:[27820]lrwx------?1?v0id?v0id?64?11月?19?20:52?90?->?socket:[5248222]lrwx------?1?v0id?v0id?64?11月?19?20:52?92?->?socket:[5248223]lrwx------?1?v0id?v0id?64?11月?19?20:52?93?->?socket:[5249279]lrwx------?1?v0id?v0id?64?11月?19?20:48?94?->?socket:[37240]lrwx------?1?v0id?v0id?64?11月?19?20:48?96?->?socket:[38308]lrwx------?1?v0id?v0id?64?11月?19?20:48?97?->?socket:[37345]lrwx------?1?v0id?v0id?64?11月?19?20:52?98?->?socket:[5249281]lrwx------?1?v0id?v0id?64?11月?19?20:52?99?->?socket:[5249282](3)、通過對網絡連接狀態文件/proc/net/tcp中的當前通信連接進行實時讀取,通過得到連接的源地址、目標地址、源商品、目標端口即可在抓包表中找到對應的可以查看到每個進程所連接的網絡通道的信息,通過和抓包所得的五元組信息進行比較,即可在步驟(1)中建立的表中找出對應的每個程序所對應的網絡流量,再通過把每個連接對應的inode與步驟(2)中遍歷進程所得到的表進行對比,即可找出連接對應的進程;這里就能夠把每個進程對應的流量統計出來了,通過累加每個進程的網絡流量即可得到總的網絡流量。v0id@v0id:~$?ll?/proc/2143/?|?grep?socket?;?cat?/proc/net/tcpsl?local_address?rem_address?st?tx_queue?rx_queue?tr?tm->when?retrnsmt?uid?timeout?inode0:?0101007F:0035?00000000:0000?0A?00000000:00000000?00:00000000?00000000?0?0?12396?1?00000000?100?0?0?10?01:?0100007F:0277?00000000:0000?0A?00000000:00000000?00:00000000?00000000?0?0?11404?1?00000000?100?0?0?10?02:?9707A8C0:8BB9?0C7CB5DC:0050?02?00000001:00000000?01:00000166?00000002?1000?0?5243074?2?00000000?400?0?0?2?53:?9707A8C0:86F7?DF08A8C0:0050?01?00000000:00000000?00:00000000?00000000?1000?0?5245647?1?00000000?21?4?8?10?-14:?9707A8C0:BFC9?E99D4F75:0050?01?00000000:00000000?00:00000000?00000000?1000?0?5248217?1?00000000?20?4?24?10?-15:?9707A8C0:85FC?AE2ED0CB:0050?01?00000000:00000000?00:00000000?00000000?1000?0?5248218?2?00000000?20?4?24?10?-16:?9707A8C0:9052?C99D4F75:0050?01?00000000:00000000?00:00000000?00000000?1000?0?5246239?2?00000000?20?4?20?10?-17:?9707A8C0:9281?925C4F75:0050?01?00000000:00000000?00:00000000?00000000?1000?0?5246331?1?00000000?20?4?8?10?-18:?9707A8C0:DFB3?DD5D4F75:0050?01?00000000:00000000?00:00000000?00000000?1000?0?5249212?2?00000000?21?4?24?10?-19:?9707A8C0:DFB5?DD5D4F75:0050?01?00000000:00000000?00:00000000?00000000?1000?0?5248223?2?00000000?20?4?24?10?-110:?9707A8C0:A614?E19D4F75:0050?01?00000000:00000000?00:00000000?00000000?1000?0?5246330?1?00000000?20?4?24?10?-111:?9707A8C0:9051?C99D4F75:0050?01?00000000:00000000?00:00000000?00000000?1000?0?5248189?2?00000000?20?4?1?6?-112:?9707A8C0:904B?C99D4F75:0050?01?00000000:00000000?00:00000000?00000000?1000?0?5244897?1?00000000?20?4?8?10?-113:?9707A8C0:DFA5?DD5D4F75:0050?01?00000000:00000000?00:00000000?00000000?1000?0?5248187?2?00000000?20?4?8?10?-114:?9707A8C0:A613?E19D4F75:0050?01?00000000:00000000?00:00000000?00000000?1000?0?5248214?1?00000000?20?4?24?10?-115:?9707A8C0:905E?C99D4F75:0050?01?00000000:00000000?00:00000000?00000000?1000?0?5249281?3?00000000?20?5?3?10?-116:?9707A8C0:EAFE?DF08A8C0:0050?08?00000000:00000001?00:00000000?00000000?1000?0?2102209?1?00000000?20?4?6?50?1617:?9707A8C0:DFB0?DD5D4F75:0050?01?00000000:00000000?00:00000000?00000000?1000?0?5248216?2?00000000?20?4?24?10?-118:?9707A8C0:904E?C99D4F75:0050?01?00000000:00000000?00:00000000?00000000?1000?0?5246227?2?00000000?20?4?20?10?-119:?9707A8C0:DFB6?DD5D4F75:0050?01?00000000:00000000?00:00000000?00000000?1000?0?5249279?2?00000000?21?0?0?10?-120:?9707A8C0:905F?C99D4F75:0050?01?00000000:00000000?00:00000000?00000000?1000?0?5249282?2?00000000?20?4?9?10?-121:?9707A8C0:C8CF?8805E29F:0050?08?00000000:00000001?00:00000000?00000000?1000?0?273820?1?00000000?20?4?6?43?1622:?9707A8C0:975D?525D58DE:0050?01?00000000:00000000?00:00000000?00000000?1000?0?5246226?1?00000000?21?4?24?10?-123:?9707A8C0:9055?C99D4F75:0050?01?00000000:00000000?00:00000000?00000000?1000?0?5248215?1?00000000?20?4?20?10?-124:?9707A8C0:DFB4?DD5D4F75:0050?01?00000000:00000000?00:00000000?00000000?1000?0?5248222?2?00000000?20?4?24?10?-125:?9707A8C0:DFA9?DD5D4F75:0050?01?00000000:00000000?00:00000000?00000000?1000?0?5248188?2?00000000?21?4?8?10?-126:?9707A8C0:904F?C99D4F75:0050?01?00000000:00000000?00:00000000?00000000?1000?0?5246228?2?0??可以在發上的內容中找到inode號與(2)中列出的socket:[inode]一樣的值了吧,例如inode為5248222的連接,相同的即是說這個連接是屬于firefox進行的了。?以上就是系統大全給大家介紹的如何使的方法都有一定的了解了吧,好了,如果大家還想了解更多的資訊,那就趕緊點擊系統大全官網吧。本文來自系統大全http:///如需轉載請注明!推薦:win7純凈版
在GNULinux中如何得到一個進程當前的流量
主要分為以下幾個步驟。(1)、通過使用抓包Libpcap庫技術,對網絡流量包進行獲取,從而可以得到每個網絡通信包的五元組(源地址、目標地址、源端口、目標端口、協議號)信息和當前包的流量大小,得到這些信息后建立一個表,此表中的同一會話的包大小信息會隨著此會話的不斷交互而累加數據包的大小。(2)、通過對/proc/下的所有進程的fd/目錄下的所有鏈接進行遍歷查看link的值,將遍歷到的所有包含socket:開頭的連接,將進程號與遍歷所得的對應進程號、進程對應的所有socket ;fd對應的inode號進行建表。在命令行可以輸入以下命令進行某一進程的當前網絡連接情況查看,如下(以firefox為例)。#get ;PID ;of ;firefox。
為你推薦