TCPflow - Analizza u Debug Traffiku tan-Netwerk fil-Linux


TCPflow huwa għodda b'xejn, sors miftuħ, ibbażata fuq il-linja tal-kmand qawwija għall-analiżi tat-traffiku tan-netwerk fuq sistemi bħal Unix bħal Linux. Jiġbor id-dejta riċevuta jew trasferita fuq konnessjonijiet TCP, u jaħżenha f'fajl għal analiżi aktar tard, f'format utli li jippermetti analiżi tal-protokoll u debugging.

Fil-fatt hija għodda bħal tcpdump peress li tipproċessa pakketti mill-wajer jew minn fajl maħżun. Jappoġġja l-istess espressjonijiet ta 'filtrazzjoni qawwija appoġġjati mill-kontroparti tiegħu. L-unika differenza hija li tcpflow ipoġġi l-pakketti TCP kollha f'ordni u jiġbor kull fluss f'fajl separat (fajl għal kull direzzjoni tal-fluss) għal analiżi aktar tard.

Is-sett tal-karatteristiċi tiegħu jinkludi sistema avvanzata ta 'plug-in għad-dekompressjoni ta' konnessjonijiet HTTP kompressati, tneħħi l-kodifikazzjoni MIME, jew tinvoka programmi ta 'partijiet terzi għal post-ipproċessar u ħafna aktar.

Hemm ħafna każijiet ta 'użu għal tcpflow li jinkludu li jifhmu l-flussi tal-pakketti tan-netwerk u wkoll jappoġġja għat-twettiq tal-forensika tan-netwerk u jiżvela l-kontenut tas-sessjonijiet HTTP.

Kif tinstalla TCPflow fis-Sistemi Linux

TCPflow huwa disponibbli fir-repożitorji uffiċjali tad-distribuzzjonijiet GNU/Linux mainstream, tista 'tinstallah billi tuża l-maniġer tal-pakketti tiegħek kif muri.

$ sudo apt install tcpflow	#Debian/Ubuntu
$ sudo yum install tcpflow	#CentOS/RHEL
$ sudo dnf install tcpflow	#Fedora 22+

Wara l-installazzjoni tcpflow, tista 'taħdem bi privileġġi ta' superuser, inkella uża l-kmand sudo. Innota li tisma' fuq l-interface tan-netwerk attiv (per eżempju enp0s3).

$ sudo tcpflow

tcpflow: listening on enp0s3

B'mod awtomatiku tcpflow jaħżen id-dejta kollha maqbuda f'fajls li għandhom ismijiet fil-forma (dan jista' jkun differenti jekk tuża ċerti għażliet bħal timestamp).

sourceip.sourceport-destip.destport
192.168.043.031.52920-216.058.210.034.00443

Issa ejja nagħmlu lista tad-direttorju biex naraw jekk il-fluss tcp inqabadx fi kwalunkwe fajl.

$ ls -1

total 20
-rw-r--r--. 1 root    root     808 Sep 19 12:49 192.168.043.031.52920-216.058.210.034.00443
-rw-r--r--. 1 root    root      59 Sep 19 12:49 216.058.210.034.00443-192.168.043.031.52920

Kif semmejna qabel, kull fluss TCP huwa maħżun fil-fajl tiegħu stess. Mill-output ta 'hawn fuq, tista' tara li hemm tliet fajl ta 'traskrizzjoni, li jindikaw tcpflow f'żewġ direzzjonijiet opposti, fejn l-IP tas-sors fl-ewwel fajl u l-IP tad-destinazzjoni fit-tieni fajl u viċi versa.

L-ewwel fajl 192.168.043.031.52920-216.058.210.034.00443 fih dejta trasferita mill-host 192.168.043.031 (il-localhost li fuqu tcpflow tmexxa) permezz tal-port 52920, għall-host 21.050.43.4.1.

U t-tieni fajl 216.058.210.034.00443-192.168.043.031.52920 fih dejta mibgħuta mill-host 216.058.210.034 (il-host remot) permezz tal-port 443 biex jospita 192.168.043.043.043.043.03.03.

Hemm ukoll rapport XML iġġenerat, li fih informazzjoni dwar il-programm bħal kif ġie kkompilat, u l-kompjuter li tħaddem fuqu u rekord ta 'kull konnessjoni tcp.

Kif forsi innotajt, tcpflow jaħżen il-fajls tat-traskrizzjoni fid-direttorju attwali b'mod awtomatiku. L-għażla -o tista’ tgħinek tispeċifika d-direttorju tal-output fejn se jinkitbu l-fajls tat-traskrizzjoni.

$ sudo tcpflow -o tcpflow_files
$ sudo ls -l tcpflow_files

total 32
-rw-r--r--. 1 root root 1665 Sep 19 12:56 157.240.016.035.00443-192.168.000.103.45986
-rw-r--r--. 1 root root   45 Sep 19 12:56 169.044.082.101.00443-192.168.000.103.55496
-rw-r--r--. 1 root root 2738 Sep 19 12:56 172.217.166.046.00443-192.168.000.103.39954
-rw-r--r--. 1 root root   68 Sep 19 12:56 192.168.000.102.00022-192.168.000.103.42436
-rw-r--r--. 1 root root  573 Sep 19 12:56 192.168.000.103.39954-172.217.166.046.00443
-rw-r--r--. 1 root root 4067 Sep 19 12:56 192.168.000.103.45986-157.240.016.035.00443
-rw-r--r--. 1 root root   38 Sep 19 12:56 192.168.000.103.55496-169.044.082.101.00443
-rw-r--r--. 1 root root 3159 Sep 19 12:56 report.xml

Tista' wkoll tipprintja l-kontenut tal-pakketti fi stdout hekk kif jiġu riċevuti, mingħajr ma taħżen xi data maqbuda fil-fajls, billi tuża l-marka -c kif ġej.

Biex tittestja dan b'mod effettiv, iftaħ it-tieni terminal u mexxi ping, jew ibbrawżja l-internet. Għandek tkun tista' tara d-dettalji tal-ping jew id-dettalji tal-browsing tiegħek jinqabdu minn tcpflow.

$ sudo tcpflow -c

Huwa possibbli li jinqabad it-traffiku kollu fuq port partikolari, pereżempju port 80 (HTTP). Fil-każ tat-traffiku HTTP, tkun tista' tara l-Headers HTTP segwiti mill-kontenut kollu fuq l-istdout jew f'fajl wieħed jekk is-swiċċ -c jitneħħa.

$ sudo tcpflow port 80

Biex taqbad pakketti minn interface tan-netwerk speċifiku, uża l-marka -i biex tispeċifika l-isem tal-interface.

$ sudo tcpflow -i eth0 port 80

Tista 'wkoll tispeċifika host fil-mira (il-valuri aċċettati huma indirizz IP, hostname jew dominji), kif muri.

$ sudo tcpflow -c host 192.68.43.1
OR
$ sudo tcpflow -c host www.google.com 

Tista' tippermetti l-ipproċessar kollu billi tuża l-iskaners kollha bil-bandiera -a, dan huwa ekwivalenti għall-iswiċċ -e kollha.

$ sudo tcpflow -a  
OR
$ sudo tcpflow -e all

Skaner speċifiku jista 'jiġi attivat ukoll; l-iskaners disponibbli jinkludu md5, http, netviz, tcpdemux u wifiviz (ħaddmu tcpflow -H biex tara informazzjoni dettaljata dwar kull skaner).

$ sudo tcpflow -e http
OR
$ sudo tcpflow -e md5
OR
$ sudo tcpflow -e netviz
OR
$ sudo tcpflow -e tcpdemux
OR
$ sudo tcpflow -e wifiviz

L-eżempju li ġej juri kif tippermetti l-iskaners kollha ħlief tcpdemux.

$ sudo tcpflow -a -x tcpdemux 

TCPflow normalment jipprova jpoġġi l-interface tan-netwerk f'mod promisku qabel ma jaqbad il-pakketti. Tista' tipprevjeni dan billi tuża l-bandiera -p kif muri.

$ sudo tcpflow -p -i eth0

Biex taqra pakketti minn fajl tcpdump pcap, uża l-marka -r.

$ sudo tcpflow -f file.pcap

Tista' tattiva l-modalità verbose billi tuża l-għażliet -v jew -d 10.

$ sudo tcpflow -v
OR
$ sudo tcpflow -d 10

Importanti: Limitazzjoni waħda ta 'tcpflow hija li, fil-preżent ma jifhimx frammenti IP, għalhekk data trażmessa bħala parti minn konnessjonijiet TCP li jkun fihom frammenti IP ma tinqabadx kif suppost.

Għal aktar informazzjoni u għażliet ta’ użu, ara l-paġna man tcpflow.

$ man tcpflow 

Repożitorju ta' TCPflow Github: https://github.com/simsong/tcpflow

Dak kollu għalissa! TCPflow huwa reġistratur tal-fluss TCP b'saħħtu li huwa utli biex jifhem il-flussi tal-pakketti tan-netwerk u jwettaq forensika tan-netwerk, u ħafna aktar. Ipprovaha u aqsam il-ħsibijiet tiegħek dwarha magħna fil-kummenti.