Jak zjistit, který program co stahuje

Andrej

Jak zjistit, který program co stahuje
« kdy: 27. 03. 2017, 11:25:00 »
Zdravim, jak v shellu zjistim ktery program ma aktivni TCP a taha zvenku a jakou URL prave taha ?

Idealni vysledek:
Kód: [Vybrat]
/usr/lib/jvm/java-6-oracle-i386/bin/java http://10.20.30.40:8080/nejaka/url
/usr/bin/wget https://11.22.33.44:443/nejaka/url


DK

Re:Jak zjistit, který program co stahuje
« Odpověď #1 kdy: 27. 03. 2017, 11:50:21 »
netstat (pripadne ss) dokaze ukazat probihajici TCP/UDP spojeni, nicmene vzhledem k posilani HTTP hlavicek ihned po navazani spojeni je nemozne zjistit, kterou URL taha (navic pri pouziti sifrovani je to pouhou analyzou packetu nemozne)

V pripade ze je takova informace nutna, je mozne nasadit nejaky proxy server + MITM certifikat a explicitne pres nej smerovat HTTP traffic

Andrej

Re:Jak zjistit, který program co stahuje
« Odpověď #2 kdy: 27. 03. 2017, 12:16:01 »
No neco jsem nasel a neni to nemozne, je potreba jako root sniffovat eth0, tahle utilitka to nejak zvlada a URL vidim.
Kód: [Vybrat]
$ sudo apt-get install libpcap0.8-dev
$ git clone https://github.com/jbittel/httpry.git
$ cd httpry
$ make
$ sudo make install

Nicmene bych chtel neco elegantnejsiho a podle moznosti rovnou .deb balicek.

DK

Re:Jak zjistit, který program co stahuje
« Odpověď #3 kdy: 27. 03. 2017, 12:23:03 »
Ano, je to nemozne ad-hoc. Pokud veskery traffic bude neustale zaznamenavany, tak z toho jde zjistit, ze spojeni bylo vytvoreno jako HTTP a na zacatku jde z hlavicek vycist, o co klient zadal. Ale pristup pomoci libpcap nepujde na sifrovane spojeni (protoze z packetu to proste nevyctes), na to je treba nejaka MITM proxy, pres kterou veskery traffic pujde.

David1234

Re:Jak zjistit, který program co stahuje
« Odpověď #4 kdy: 27. 03. 2017, 12:26:57 »
To by mohl umět i obyčejný tcpdump, ne?

No neco jsem nasel a neni to nemozne, je potreba jako root sniffovat eth0, tahle utilitka to nejak zvlada a URL vidim.
Kód: [Vybrat]
$ sudo apt-get install libpcap0.8-dev
$ git clone https://github.com/jbittel/httpry.git
$ cd httpry
$ make
$ sudo make install

Nicmene bych chtel neco elegantnejsiho a podle moznosti rovnou .deb balicek.


DK

Re:Jak zjistit, který program co stahuje
« Odpověď #5 kdy: 27. 03. 2017, 12:34:13 »
To by mohl umět i obyčejný tcpdump, ne?

No neco jsem nasel a neni to nemozne, je potreba jako root sniffovat eth0, tahle utilitka to nejak zvlada a URL vidim.
Kód: [Vybrat]
$ sudo apt-get install libpcap0.8-dev
$ git clone https://github.com/jbittel/httpry.git
$ cd httpry
$ make
$ sudo make install

Nicmene bych chtel neco elegantnejsiho a podle moznosti rovnou .deb balicek.

Taky to je postavene na libpcap :) a dokonce to existuje i v Debian/Ubuntu repu

Andrej

Re:Jak zjistit, který program co stahuje
« Odpověď #6 kdy: 27. 03. 2017, 12:39:48 »
Mne je to jedno cim, dokonce ozelim i https. Jen mi please napiste prikaz i se vsemy awk | sed | grep aby na vystupu bylo to co chci. Ja jsem programator a ne shell master admin, necham si poradit od expertu :)

DK

Re:Jak zjistit, který program co stahuje
« Odpověď #7 kdy: 27. 03. 2017, 12:46:42 »
Mne je to jedno cim, dokonce ozelim i https. Jen mi please napiste prikaz i se vsemy awk | sed | grep aby na vystupu bylo to co chci. Ja jsem programator a ne shell master admin, necham si poradit od expertu :)

netstat -tanp | grep ESTABLISHED | awk '{ print $4, $5, $7 }'

Zobrazi pouze navazana TCP spojeni, prvni sloupec je zdrojova adresa, druhy sloupec cilova adresa, treti sloupec proces. Doporucim si nastudovat OSI/ISO model a v pripade nutnosti toho puvodniho zadani bud napsat, ceho se snazite docilit, nebo mitmproxy

ZAJDAN

  • *****
  • 2 092
    • Zobrazit profil
    • E-mail
Re:Jak zjistit, který program co stahuje
« Odpověď #8 kdy: 28. 03. 2017, 10:48:15 »
pravdepodobne podobnym zpusobem byl udelan iftop
zajimalo by me jak escapovat apostrofy  s pouzitim watch
watch -n1 'netstat -tanp | grep ESTABLISHED | awk '{ print $4, $5, $7 }' '
netusite?

sotva jsem to dopsal tak jsem zjistil, ze je potreba escapovat dolary, pak to facha:
watch -n1 "netstat -tanp | grep ESTABLISHED | awk '{ print \$4, \$5, \$7 }' "
« Poslední změna: 28. 03. 2017, 10:53:33 od ZAJDAN »
Vesele, vesele do továrny dělník běží...vesele, vesele do továrny jde. Vesele se usmívá když mu soustruh zazpívá...vesele, vesele do továrny jde. Vesele si poskočí když se soustruh roztočí ...vesele, vesele do továrny jde.

Sten

Re:Jak zjistit, který program co stahuje
« Odpověď #9 kdy: 28. 03. 2017, 14:36:18 »
pravdepodobne podobnym zpusobem byl udelan iftop
zajimalo by me jak escapovat apostrofy  s pouzitim watch
watch -n1 'netstat -tanp | grep ESTABLISHED | awk '{ print $4, $5, $7 }' '
netusite?

Po bashovsku:

watch -n1 'netstat -tanp | grep ESTABLISHED | awk '"'"'{ print $4, $5, $7 }'"'"

paf1

Re:Jak zjistit, který program co stahuje
« Odpověď #10 kdy: 28. 03. 2017, 17:00:04 »
aby to bylo trochu hezci .....
watch -n1 "netstat -tanp | grep ESTABLISHED | awk '{ print  \$4, \$5, \$7 }' | column -t "