Fórum Root.cz
Hlavní témata => Software => Téma založeno: 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:
/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
-
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
-
No neco jsem nasel a neni to nemozne, je potreba jako root sniffovat eth0, tahle utilitka to nejak zvlada a URL vidim.
$ 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.
-
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.
-
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.
$ 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.
-
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.
$ 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
-
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 :)
-
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
-
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 }' "
-
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 }'"'"
-
aby to bylo trochu hezci .....
watch -n1 "netstat -tanp | grep ESTABLISHED | awk '{ print \$4, \$5, \$7 }' | column -t "