Fórum Root.cz

Hlavní témata => Software => Téma založeno: Andrej 27. 03. 2017, 11:25:00

Název: Jak zjistit, který program co stahuje
Přispěvatel: Andrej 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
Název: Re:Jak zjistit, který program co stahuje
Přispěvatel: DK 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
Název: Re:Jak zjistit, který program co stahuje
Přispěvatel: Andrej 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.
Název: Re:Jak zjistit, který program co stahuje
Přispěvatel: DK 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.
Název: Re:Jak zjistit, který program co stahuje
Přispěvatel: David1234 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.
Název: Re:Jak zjistit, který program co stahuje
Přispěvatel: DK 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
Název: Re:Jak zjistit, který program co stahuje
Přispěvatel: Andrej 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 :)
Název: Re:Jak zjistit, který program co stahuje
Přispěvatel: DK 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
Název: Re:Jak zjistit, který program co stahuje
Přispěvatel: ZAJDAN 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 }' "
Název: Re:Jak zjistit, který program co stahuje
Přispěvatel: Sten 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 }'"'"
Název: Re:Jak zjistit, který program co stahuje
Přispěvatel: paf1 28. 03. 2017, 17:00:04
aby to bylo trochu hezci .....
watch -n1 "netstat -tanp | grep ESTABLISHED | awk '{ print  \$4, \$5, \$7 }' | column -t "