TCPflow - Greindu og kemba netumferð í Linux


TCPflow er ókeypis, opinn uppspretta, öflugt skipanalínutól til að greina netumferð á Unix-líkum kerfum eins og Linux. Það fangar gögn sem berast eða eru flutt yfir TCP-tengingar og geymir þau í skrá til síðari greiningar, á gagnlegu sniði sem gerir kleift að greina samskiptareglur og villuleit.

Það er í raun tcpdump-líkt verkfæri þar sem það vinnur pakka úr vírnum eða frá geymdri skrá. Það styður sömu öflugu síunartjáningar sem hliðstæða þess styður. Eini munurinn er sá að tcpflow setur alla TCP pakkana í röð og setur hvert flæði saman í sérstaka skrá (skrá fyrir hverja flæðistefnu) til síðari greiningar.

Eiginleikasettið inniheldur háþróað viðbótakerfi til að þjappa niður þjöppuðum HTTP-tengingum, afturkalla MIME-kóðun eða kalla á forrit þriðja aðila til eftirvinnslu og margt fleira.

Það eru mörg notkunartilvik fyrir tcpflow sem fela í sér að skilja netpakkaflæði og styður einnig við að framkvæma netréttarrannsóknir og birta innihald HTTP lota.

Hvernig á að setja upp TCPflow í Linux kerfum

TCPflow er fáanlegt í opinberum geymslum almennra GNU/Linux dreifinga, þú getur sett það upp með því að nota pakkastjórann þinn eins og sýnt er.

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

Eftir að tcpflow hefur verið sett upp geturðu keyrt það með ofurnotendaréttindum, annars notaðu sudo skipunina. Athugaðu að það hlustar á virka netviðmótinu (til dæmis enp0s3).

$ sudo tcpflow

tcpflow: listening on enp0s3

Sjálfgefið er að tcpflow geymir öll tekin gögn í skrám sem hafa nöfn á formi (þetta gæti verið öðruvísi ef þú notar ákveðna valkosti eins og tímastimpil).

sourceip.sourceport-destip.destport
192.168.043.031.52920-216.058.210.034.00443

Nú skulum við gera möppuskráningu til að sjá hvort tcp flæði hefur verið tekið í einhverjar skrár.

$ 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

Eins og við nefndum áðan er hvert TCP flæði geymt í sinni eigin skrá. Af úttakinu hér að ofan geturðu séð að það eru þrjár afritsskrár, sem gefa til kynna tcpflow í tvær gagnstæðar áttir, þar sem uppruna-IP í fyrstu skránni og ákvörðunar-IP í annarri skránni og öfugt.

Fyrsta skráin 192.168.043.031.52920-216.058.210.034.00443 inniheldur gögn sem eru flutt frá hýsil 192.168.043.031 (staðbundinn hýsil sem tcpflow var keyrður á) í gegnum gátt 52920, til hýsils 0.4.2 í gegnum hýsil 50.41. 0.4.2.

Og önnur skráin 216.058.210.034.00443-192.168.043.031.52920 inniheldur gögn send frá hýsil 216.058.210.034 (fjarlæga hýsilinn) í gegnum gátt 443 til hýsil 192.168.043 í gegnum 50.030 gátt 2 sem keyrt var á staðbundið 216.058.210.043.

Það er líka búin til XML skýrsla sem inniheldur upplýsingar um forritið eins og hvernig það var sett saman og tölvuna sem það var keyrt á og skrá yfir hverja tcp tengingu.

Eins og þú hefur kannski tekið eftir geymir tcpflow sjálfgefið afritsskrárnar í núverandi möppu. Valmöguleikinn -o getur hjálpað þér að tilgreina úttaksskrána þar sem afritsskrárnar verða skrifaðar.

$ 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

Þú getur líka prentað innihald pakka í stdout eins og þeir eru mótteknir, án þess að geyma nein tekin gögn í skrár, með því að nota -c fánann sem hér segir.

Til að prófa þetta á áhrifaríkan hátt skaltu opna aðra flugstöð og keyra ping eða vafra á netinu. Þú ættir að geta séð ping-upplýsingarnar eða vafraupplýsingarnar þínar teknar af tcpflow.

$ sudo tcpflow -c

Það er hægt að fanga alla umferð á tiltekinni höfn, til dæmis höfn 80 (HTTP). Ef um er að ræða HTTP umferð muntu geta séð HTTP hausana á eftir efnið allt á stdout eða í einni skrá ef -c rofinn er fjarlægður.

$ sudo tcpflow port 80

Til að fanga pakka úr tilteknu netviðmóti, notaðu -i fánann til að tilgreina viðmótsheitið.

$ sudo tcpflow -i eth0 port 80

Þú getur líka tilgreint markhýsil (samþykkt gildi eru IP-tala, hýsingarheiti eða lén), eins og sýnt er.

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

Þú getur virkjað alla vinnslu með því að nota alla skanna með -a fánanum, þetta jafngildir -e öllum rofanum.

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

Einnig er hægt að virkja ákveðinn skanni; tiltækir skannar innihalda md5, http, netviz, tcpdemux og wifiviz (keyrðu tcpflow -H til að skoða nákvæmar upplýsingar um hvern skanni).

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

Eftirfarandi dæmi sýnir hvernig á að virkja alla skanna nema tcpdemux.

$ sudo tcpflow -a -x tcpdemux 

TCPflow reynir venjulega að setja netviðmótið í lauslátan ham áður en pakka er tekin. Þú getur komið í veg fyrir þetta með því að nota -p fánann eins og sýnt er.

$ sudo tcpflow -p -i eth0

Til að lesa pakka úr tcpdump pcap skrá, notaðu -r fánann.

$ sudo tcpflow -f file.pcap

Þú getur virkjað orðaham með því að nota -v eða -d 10 valkostina.

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

Mikilvægt: Ein takmörkun á tcpflow er að sem stendur skilur það ekki IP-brot, þannig að gögn sem send eru sem hluti af TCP-tengingum sem innihalda IP-brot verða ekki tekin á réttan hátt.

Fyrir frekari upplýsingar og notkunarmöguleika, sjáðu tcpflow man síðuna.

$ man tcpflow 

TCPflow Github geymsla: https://github.com/simsong/tcpflow

Það er allt í bili! TCPflow er öflugur TCP flæðiritari sem er gagnlegur til að skilja netpakkaflæði og framkvæma netréttarrannsóknir og svo margt fleira. Prófaðu það og deildu hugsunum þínum um það með okkur í athugasemdunum.