===== wireshark =====
* wireshark byl později rozdělen na 2 části, aby i non-root uživatel mohl spouštět zachytávání peketů a celý GUI neběželo pod root permission.
* '''dumpcap''' - je vhodné mu nastavit '''sticky bit'''
==== rpcapd ====
* musí se povolit při kompilaci libpcap ... jak? nejspíš '''--enable-have-remote'''
* debian nemá u libpcap standartně povolený rpcapd ... důkaz?
djbuldog@Pharaon:~$ dumpcap -i rpcap://veneto.liberouter.org/eth0
The capture session could not be initiated (SIOCGIFHWADDR: No such device).
Please check to make sure you have sufficient permissions, and that you have the proper interface or pipe specified.
* balíčky z http://www.liberouter.org/nific/usecases/rpcap/rpcap.php nejsou určené pro debian, nutno použít tarbal
* jak ale nacpat do systému tak významnou knihovnu bez balíčku? - poruší se mnoho závislostí
Následující balíky budou ODSTRANĚNY:
arp-scan arping ettercap iftop kismet libnids-dev libnids1.21 libpcap0.8 mz
network-manager-pptp network-manager-pptp-gnome nmap ppp pptp-linux tcpdump
tshark vde2 wireshark wireshark-common
* zkusme to nejprve s centOS ...
* nainstalujeme balíček ...
rpm -i http://www.liberouter.org/nific/usecases/rpcap/libpcap-1.1.1-903.x86_64.rpm
* a ejhle... libpcap tam už máme, protože jej používá například network manager, použijeme přepínač '''--force'''
* hm.. jenomze on to tam natvrdo nainstaloval bez upgrade :) tak ted tam mam 2x libpcap :) => rollback :)
* odinstaloval jsem libpcap a nainstaloval znovu.. pouze default verzi, zkusil jsem použít '''rpm -U''' jenomže balíček '''ppp''' byl stavěný přesně na default verzi libpcap :(
* tak prostě stáhnu '''source''' balíček a sám si jej zkompiluji s '''have remote'''
* zpátky k debianu
$ cd /tmp/
$ tar libpcap-1.1.1.tar.gz
$ cd libpcap-1.1.1
$ ./configure && make
make: yacc: Command not found
apt-get install bison
make install // ale uz ne??? -> && make install-rpcapd
* krása, nainstalovalo se to do /usr/local/* ale normální libpcap je v /usr/* .. při configure lze změnit přepínačem --prefix=/usr/ ale to bych skutečně přepsal soubory distribuce :) přepsat? nepřepsat? :)
$ ldd `type dumpcap`
..
libpcap.so.0.8 => /usr/lib/libpcap.so.0.8
..
$ ls -la /usr/lib/libpcap.so.0.8
lrwxrwxrwx 1 root root 16 3. kvě 21.09 /usr/lib/libpcap.so.0.8 -> libpcap.so.1.1.1
ln --force -s /usr/local/lib/libpcap.so.1.1.1 /usr/lib/libpcap.so.0.8
* žádná změna nenastala :) jdu aspoň zkusit rozchodit ten rpcapd lokálně :)
* rpcapd hlásil, že nemůže najít knihovnu... hledal ji ve špatném dir.. chyba make :)
$ ln -s /usr/local/lib/libpcap.so.1 /usr/lib/
* rpcapd úspešně odzkoušen.. plně funkční => a jdeeeme na wireshark :) konkrétně dumpcap
tar -xf wireshark-1.2.7.tar.bz2
sudo ./configure --help | grep pcap
--enable-text2pcap build text2pcap. [default=yes]
--enable-dumpcap build dumpcap. [default=yes]
--enable-setuid-install install dumpcap as setuid [default=no]
--enable-airpcap use airpcap in wireshark. [default=no]
--with-pcap[=DIR] use libpcap for packet capturing. [default=yes]
--with-pcap-remote use libpcap remote capturing (requires libpcap)
Installation directories:
--prefix=PREFIX install architecture-independent files in PREFIX
[/usr/local]
--exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
[PREFIX]
* default instalace je prý do /usr/local/*
$ ./configure --enable-setuid-install --with-pcap-remote
$ make
* chyba při kompilaci: '''/usr/local/include/pcap/pcap.h:413:24: error: remote-ext.h: Adresář nebo soubor neexistuje'''
* soubor je k nalezení: '''libpcap-1.1.1/remote-ext.h''' (není nikde v /usr/local/*)
* proto:
cp /usr/src/libpcap-1.1.1/remote-ext.h /usr/local/include/
* už to běháááá.. ale bacha.. není tam prej eth0 !!??!! ale sze0 - aha.. musím být root ... a taky uri je rpcap a ne rpcapd :)
* funkční cmd
sudo ./dumpcap -i rpcap://veneto.liberouter.org:2002/sze0
* jinak.. když je hacknutá library, tak tahle uri funguje i s wiresharkem bez patche.. avšak jsou tam nějaké omezení, wireshark nezobrazje v gui možnost pro remote a nefuguje update list of packet in real time
* na centOS ..
* 1) čistý systém + pcap rpm balíček od liberouteru (/usr/lib = tj né local) + build wiresharku
* yum install gtk2-devel
* chybi pcap.h
* wget http://www.liberouter.org/nific/usecases/rpcap/libpcap-devel-1.1.1-903.x86_64.rpm
* yum install --nogpgcheck libpcap-devel-1.1.1-903.x86_64.rpm
[root@localhost wireshark-1.2.7]# repoquery -l libpcap-devel
/usr/include/pcap-bpf.h
/usr/include/pcap-namedb.h
/usr/include/pcap.h
* v balicku neni pcap-config - neva.. hleda se v /usr/include, /usr/local/include, $prefix/include
* chybi remote-ext.h
* wget http://www.liberouter.org/nific/usecases/rpcap/libpcap-1.1.1-903.src.rpm
* yum install --nogpgcheck libpcap-1.1.1-903.src.rpm
* Cannot add package libpcap-1.1.1-903.src.rpm to transaction. Not a compatible architecture: src
* fuck :) mozna bug v yum
* wget http://www.liberouter.org/nific/usecases/rpcap/libpcap-1.1.1.tar.gz
* tar -xf libpcap-1.1.1.tar.gz
* cp libpcap-1.1.1/remote-ext.h /usr/include/
* 2) čistý systém + kompilace libpcap od liberouteru + build wiresharku
==== Problemy ====
* dle [[https://www.liberouter.org/wiki/index.php/Jak_pou%C5%BE%C3%ADvat_rpcapd|wiki]] se má použít https://www.liberouter.org/repo/STABLE/x86_64/ .. ale STABLE tam není
* chyby kompilace [[http://www.liberouter.org/nific/usecases/rpcap/rpcap.php|rpcapd]]
* yacc: Command not found - chybí závislost na bison v configure scriptu
* závislost na libpcap-dev při kompilaci libpcap? :-D - vyskytlo se pouze jednou a už nikdy nereprodukováno - asi haluz :)
gcc -pthread -DHAVE_REMOTE -DHAVE_SNPRINTF -D_GNU_SOURCE -g -D_REENTRANT -I../ -o rpcapd rpcapd.o daemon.o utils.o fileconf.o pcap-remote.o sockutils.o pcap-new.o -L../ -lpcap -lcrypt
..//libpcap.so: undefined reference to `pcap_parse'
* makefile poskytuje uninstall ... uuuuužasné, ale zdá se, že nesmaže vše.. třeba rpcapd :)
* linker.. rpcapd nemůže najít knihovnu libpcap.so.1, nehledá ji v /usr/local/lib (default).. ale například v /usr/lib/
* hlavičkový soubor remote-ext.h není distribuován do /usr/local/include/
wireshark 1.2.7 ze source sestaveny na x86_64 debianu, rpcapd na veneto se zkompilovanym openvpn dle wiki
* pri zastaveni vzdaleneho zachytavani
* se zobrazi v rpcapd konzoli hlaska:
The other end system asked to close the connection.
I'm exiting from the child loop
* a na strane wireshark klienta chybova hlaska:
Error while capturing packets: select(): Interrupted system call (code 4)
Please report this to the Wireshark developers.
(This is not a crash; please do not report it as such.)
* ve windows verzi wireshark se to neprojevuje
* pri ukonceni vpn a znovuotevreni dialogoveho okna capture options wireshark tak na 3 minuty vytuhne
* ceka se na odpoved (timeout) posledne pouzite (uzavreneho vpn p2p spojeni) IP adresy
* chovaji se tak i ostatni programy - napriklad firefox - ale ten umoznuje akci zastavit
* cekani lze vyvolat i znovupouzitim automaticky vytvorene zalozky na predesle vpn spojeni
* lze take vyvolat zadanim IP adresy, na kterou system nedostane ze site icmp odpoved Destination Host Unreachable
* po cekaci dobe se zobrazi nasledujici chybova hlaska (jen v tech dalsich dvou metodach zpusobeni cekani)
Can't get list of interfaces: Is the server properly installed on 10.3.0.1? connect() failed: Spojení bylo příliš dlouho neaktivní (code 110)
* vyskytuje se i ve windows verzi, avsak cekaci doba je max do 30s
* nachystaný rpm balíček se nedá nainstalovat na normálním desktop centOS, protože předchystané balíčky očekávají určitou verzi.
* Použití tarbalu neumožní použití baličkovaných nástrojů z důvodu závislosti na libpcap
* Zkompilování zdrojáků balíčkového libpcap s přepínačem pro rpcap nebude obsahovat bugfixy od liberouteru?
* Zkompilování zdrojáků libpcap z liberouteru nebude opět verzí odpovídat požadované verzi libpcap
* použití fake verze vnese zmatek...
* použití trans... balíčku nemusí být optimální
* nová zafixovaná verze libpcap může způsobit problémy v balíčkovaných aplikacích
* mám vytvořit tedy balíčky pro wireshark běžící s naší rpm libpcap? nebo návod jak je vytvořit?
==== TODO ====
* na debianu si v klidečku v /usr/local rozjet rpcapd a zkusit se na něj připojit z windows.. jestli funguje libpcap + rpcapd
* rozjet to na mym milovanym debianu :) - vytvořením balíčku z distra i od liberouteru - ať vidím případné chyby :)
* napsat něco ke klient návodu :)
* asi rozjet OpenVPN server podle navodu na linuxu, abych mohl popsat klienta :)
* čím by šel nahradit openvpn? n2n je méně podporovaný a také používá tun/tap