libpcap
Toto je starší verze dokumentu!
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
- 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
- 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
- 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 wiki se má použít https://www.liberouter.org/repo/STABLE/x86_64/ .. ale STABLE tam není
- chyby kompilace rpcapd
- yacc: Command not found - chybí závislost na bison v configure scriptu
- závislost na libpcap-dev při kompilaci libpcap?
- 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
libpcap.1329591143.txt.gz · Poslední úprava: (upraveno mimo DokuWiki)
