Auteur Sujet: Capturer les communications de ses voisins avec packet-o-matic  (Lu 10417 fois)

0 Membres et 1 Invité sur ce sujet

vivien

  • Administrateur
  • *
  • Messages: 29 674
    • Twitter LaFibre.info
Câble: Capturer les communications de ses voisins avec une carte DVB-C et packet-o-matic

Le but de ce tutoriel est de réaliser une capture Wireshark sur un réseau câblé (Docisis 2 ou 3)
Le réseau Numericâble ne crypte pas les données Internet. Il est donc possible d'écouter le flux descendant de ses voisins.
Une carte DVB-C étant fait pour regarder la TV, elle ne permet de récupérer que le download et pas l'upload.
Pour le téléphone par exemple vous entendrez le correspondant distant mais pas votre voisin parler.

Le matériel nécessaire :
- Linux
- Le logiciel open source Packet-o-matic : http://www.packet-o-matic.org/
- Une carte DVB-C pour sniffer un canal descendant (3 cartes pour sniffer 3 canaux descendants)
- Savoir compiler des logiciels sous linux

Une carte DVB-C s’achète dans le commerce pour regarder la télévision DVB-C sur PC.
Il est généralement proposé de relier la carte DVB-C à un lecteur de carte afin de décrypter les chaînes payantes. Cette carte est inutile pour sniffer le trafic Internet.

Attention, votre cartes doit être supporté par packet-o-matic. La liste des cartes supportées : http://wiki.packet-o-matic.org/dvbcards
Certaines cartes sont assez compliqué a installer sous linux alors que d'autres ont des drivers déjà pris en charge.

Ce tutoriel est plus un bloc-note de ce qui n'est pas inscrit sur la rubrique installation de Packet-o-matic et qui bloque l’installation

vivien

  • Administrateur
  • *
  • Messages: 29 674
    • Twitter LaFibre.info
Capturer les communications de ses voisins avec packet-o-matic
« Réponse #1 le: 26 mai 2011 à 06:54:44 »
Installation de Packet-o-matic sous Ubuntu :

On va passer root car toutes les commandes nécessitent d'être root :
sudo -s

La commande suivante est facultative permet de mettre a jour le système et d'installer des logiciels utiles mais non nécessaire à packet-o-matic  :
/usr/bin/apt update ; /usr/bin/apt -y full-upgrade ; /usr/bin/apt -y install vlc tshark libdbd-mysql-perl libnet-upnp-perl ssh acpi acpid iperf nload traceroute-nanog htop manpages-fr manpages-fr-dev manpages-fr-extra

Installer les dépendances non satisfaites pour packet-o-matic :

libxml2 : Required for parsing and writing the configuration.
pkg-config est nécessaire pour que libxml2 se fasse découvrir
apt install libxml2-dev pkg-config

libpcap : Required for input_pcap, target_pcap, target_tcpkill and target_inject.
apt install libpcap-dev

xmlrpc-c : Required for XML-RPC interface and the web interface.
apt install libxmlrpc-c3-dev

Subversion (pour commande svn checkout https://svn.tuxicoman.be/svn/packet-o-matic/trunk packet-o-matic) :
apt install subversion

Autoconf (pour commande autoreconf -f -i) :
libtool est nécessaire pour autoconf
apt install autoconf libtool

# autoreconf -f -i
libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, `build-aux'.
libtoolize: copying file `build-aux/config.guess'
libtoolize: copying file `build-aux/config.sub'
libtoolize: copying file `build-aux/install-sh'
libtoolize: copying file `build-aux/ltmain.sh'
libtoolize: putting macros in AC_CONFIG_MACRO_DIR, `m4'.
libtoolize: copying file `m4/libtool.m4'
libtoolize: copying file `m4/ltoptions.m4'
libtoolize: copying file `m4/ltsugar.m4'
libtoolize: copying file `m4/ltversion.m4'
libtoolize: copying file `m4/lt~obsolete.m4'
configure.ac:80: error: possibly undefined macro: AC_MSG_ERROR
      If this token and others are legitimate, please use m4_pattern_allow.
      See the Autoconf documentation.

Téléchargement de packet-o-matic depuis le dépôt SVN :
wget http://www.packet-o-matic.org/downloads/packet-o-matic-svn-20100227.tar.gz

Suivre ensuite les indications du site : http://wiki.packet-o-matic.org/installation



Installation spécifique à la carte CableStar HD2 :

Tuto principal :
http://www.linuxtv.org/wiki/index.php/Technisat_CableStar_HD2

+ installer les dépendances manquantes dispo sur :
http://linuxtv.org/wiki/index.php/How_to_Obtain,_Build_and_Install_V4L-DVB_Device_Drivers#If_the_Modules_did_not_load_correctly_or_the_device_is_still_not_configured_correctly_for_use

Si besoin de compiler le kernel :

Installez ensuite les outils nécessaires à la compilation et au telechargement du kernel:
apt install kernel-package libncurses5-dev fakeroot wget bzip2 build-essential

Déplacez-vous dans le répertoire des sources que vous allez télécharger
cd /usr/src

Téléchargement, extraction des sources du kernel, et création du lien symbolique.
wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.39.tar.bz2
tar xjf linux-2.6.39.tar.bz2
ln -s linux-2.6.39.tar.bz2
cd /usr/src/linux


On passe au choix des modules/options (ici je ne peux vous aider, car tout dépend de votre matériel):
make menuconfig

Naviguez dans le menu avec “Tab”, les flèches et “Espace” pour cocher.
Une fois que vous avez tout configureé, revenez au début du menu, et sélectionnez “Exit”.
L’installeur vous demandera alors de sauver la nouvelle config du noyau, repondez “Yes”.

Compiler le kernel:
make-kpkg clean
fakeroot make-kpkg –initrd –append-to-version=-custom kernel_image kernel_headers

Attendez alors une bonne heure (en fonction de votre CPU).

Cependant, pour accélérer la construction, si vous avez un CPU multi-coeur, tapez:
export CONCURRENCY_LEVEL=3
La règle générale veut que CONCURRENCY_LEVEL= le nombre de coeurs + 1.

Installer le nouveau noyau:
cd /usr/src
ls

Vous devriez voir apparaitre 2 paquets en .deb.
Il suffit alors de faire:
dpkg -i le_nom_du_premier_paquet+le_nom_du_deuxième_paquet

Updatez GRUB avec:
sudo update-grub

Redémarrez et votre kernel devrait charger automatiquement.

Branco

  • Expert
  • Client Bbox fibre "câble"
  • *
  • Messages: 80
Capturer les communications de ses voisins avec packet-o-matic
« Réponse #2 le: 26 mai 2011 à 11:08:24 »
Et tu as pu écouter une conversation ? Ton voisin a parlé de toi et du tapage nocturne que tu fais la nuit  :P

ricil78

  • Client SFR sur réseau Numericable
  • *
  • Messages: 1
Capturer les communications de ses voisins avec packet-o-matic
« Réponse #3 le: 07 janvier 2013 à 09:48:41 »
Bonjour,

Vu la date du poste je voulais savoir si le poste est toujours d'actualité ?
Est que Numéricable à changer quelques choses ?

Est-ce valable sur tous leur équipement, si l'immeuble est Fibré ou non fibré ? qu'importe les modems ?

merci  :)

thenico

  • Expert.
  • Client Orange Fibre
  • *
  • Messages: 793
  • FTTH >500 Mb/s et FTTLA 100 Mb/s (13)
Capturer les communications de ses voisins avec packet-o-matic
« Réponse #4 le: 07 janvier 2013 à 19:42:53 »
Je n'ai jamais vu le BPI (qui empêche cette technique) actif chez un cabloperateur.

eldynamo

  • Client Bbox fibre "câble"
  • *
  • Messages: 2
  • Strasbourg 67
Capturer les communications de ses voisins avec packet-o-matic
« Réponse #5 le: 30 octobre 2016 à 16:43:29 »
Bonjour vivien et les membres du forum.

Merci pour le tutoriel que tu as fait sur ton forum pour packet-o-matic sous ubuntu. J'ai installer la version 16.04.
Alors j'ai installer toutes les dependances en dev et j'ai un petit soucis car pom-ng me dits que postgresql n'est pas installer lorsque je fais un ./configure et pourtant quand je me connecte avec pgadmin je trouve bien ma base de donnée et quand je vérifie la version j'ai la 9.3. As-tu eu le même soucis ?

je t'envoi les parametres qu'il m'affiche lors du configure

checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking for ar... ar
checking the archiver (ar) interface... ar
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking how to print strings... printf
checking for a sed that does not truncate output... /bin/sed
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for fgrep... /bin/grep -F
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking how to convert x86_64-pc-linux-gnu file names to x86_64-pc-linux-gnu format... func_convert_file_noop
checking how to convert x86_64-pc-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /usr/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for archiver @FILE support... @
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for sysroot... no
checking for a working dd... /bin/dd
checking how to truncate binary pipes... /bin/dd bs=4096 count=1
checking for mt... mt
checking if mt is a manifest tool... no
checking how to run the C preprocessor... gcc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... yes
checking if gcc static flag -static works... yes
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking for shl_load... no
checking for shl_load in -ldld... no
checking for dlopen... no
checking for dlopen in -ldl... yes
checking whether a program can dlopen itself... yes
checking whether a statically linked program can dlopen itself... no
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no
checking for dirent.h that defines DIR... yes
checking for library containing opendir... none required
checking for ANSI C header files... (cached) yes
checking whether time.h and sys/time.h may both be included... yes
checking arpa/inet.h usability... yes
checking arpa/inet.h presence... yes
checking for arpa/inet.h... yes
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking for stdint.h... (cached) yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking sys/ioctl.h usability... yes
checking sys/ioctl.h presence... yes
checking for sys/ioctl.h... yes
checking sys/socket.h usability... yes
checking sys/socket.h presence... yes
checking for sys/socket.h... yes
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking for unistd.h... (cached) yes
checking sys/endian.h usability... no
checking sys/endian.h presence... no
checking for sys/endian.h... no
checking mcheck.h usability... yes
checking mcheck.h presence... yes
checking for mcheck.h... yes
checking endian.h usability... yes
checking endian.h presence... yes
checking for endian.h... yes
checking execinfo.h usability... yes
checking execinfo.h presence... yes
checking for execinfo.h... yes
checking valgrind/valgrind.h usability... no
checking valgrind/valgrind.h presence... no
checking for valgrind/valgrind.h... no
checking whether byte ordering is bigendian... no
checking for an ANSI C-conforming const... yes
checking for stdbool.h that conforms to C99... yes
checking for _Bool... yes
checking for inline... inline
checking for size_t... yes
checking whether time.h and sys/time.h may both be included... (cached) yes
checking whether struct tm is in sys/time.h or time.h... time.h
checking for uint16_t... yes
checking for uint32_t... yes
checking for uint8_t... yes
checking whether gcc needs -traditional... no
checking for stdlib.h... (cached) yes
checking for GNU libc compatible malloc... yes
checking for stdlib.h... (cached) yes
checking for GNU libc compatible realloc... yes
checking return type of signal handlers... void
checking for strftime... yes
checking for bzero... yes
checking for gettimeofday... yes
checking for inet_ntoa... yes
checking for memmove... yes
checking for memset... yes
checking for strerror... yes
checking pthread.h usability... yes
checking pthread.h presence... yes
checking for pthread.h... yes
checking for pthread_create with libc... no
checking for pthread_create with -pthreads... no
checking for pthread_create with -pthread... yes
checking for dlopen in -ldl... (cached) yes
checking for gethostbyname in -lnsl... yes
checking for socket in -lsocket... no
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for libxml2... yes
checking for libmicrohttpd... yes
checking uthash.h usability... yes
checking uthash.h presence... yes
checking for uthash.h... yes
checking magic.h usability... yes
checking magic.h presence... yes
checking for magic.h... yes
checking pcap.h usability... yes
checking pcap.h presence... yes
checking for pcap.h... yes
checking pcap-bpf.h usability... yes
checking pcap-bpf.h presence... yes
checking for pcap-bpf.h... yes
checking for pcap_open_offline, pcap_open_dead, pcap_close, pcap_breakloop in -lpcap... yes
checking linux/dvb/dmx.h usability... yes
checking linux/dvb/dmx.h presence... yes
checking for linux/dvb/dmx.h... yes
checking linux/dvb/frontend.h usability... yes
checking linux/dvb/frontend.h presence... yes
checking for linux/dvb/frontend.h... yes
checking xmlrpc-c/base.h usability... yes
checking xmlrpc-c/base.h presence... yes
checking for xmlrpc-c/base.h... yes
checking xmlrpc-c/server.h usability... yes
checking xmlrpc-c/server.h presence... yes
checking for xmlrpc-c/server.h... yes
checking for xmlrpc_millisecond_sleep in -lxmlrpc_util... yes
checking for xmlrpc-c-config... yes
checking for xmlrpc_registry_process_call2 in -lxmlrpc_server... yes
checking linux/if_tun.h usability... yes
checking linux/if_tun.h presence... yes
checking for linux/if_tun.h... yes
checking zlib.h usability... yes
checking zlib.h presence... yes
checking for zlib.h... yes
checking jpeglib.h usability... yes
checking jpeglib.h presence... yes
checking for jpeglib.h... yes
checking sqlite3.h usability... yes
checking sqlite3.h presence... yes
checking for sqlite3.h... yes
checking libpq-fe.h usability... no
checking libpq-fe.h presence... no
checking for libpq-fe.h... no
checking for lua... yes
checking for libexif... yes
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/Makefile
config.status: creating src/modules/Makefile
config.status: creating include/Makefile
config.status: creating config.h
config.status: config.h is unchanged
config.status: executing depfiles commands
config.status: executing libtool commands

=============================================
| .-----.-----.--------.______.-----.-----. |
| |  _  |  _  |        |______|     |  _  | |
| |   __|_____|__|__|__|      |__|__|___  | |
| |__|                              |_____| |
=============================================

 Configuration result :
 ----------------------

 * libpcap          : yes
 * Linux DVB        : yes
 * Libmagic         : yes
 * Zlib             : yes
 * JPEG             : yes
 * Sqlite3          : yes
 * Postgresql       : no
 * libexif          : yes

hwti

  • Client SFR fibre FTTH
  • *
  • Messages: 569
  • Chambly (60)
Capturer les communications de ses voisins avec packet-o-matic
« Réponse #6 le: 31 octobre 2016 à 11:40:14 »
https://github.com/gmsoft-tuxicoman/pom-ng/blob/master/configure.ac#L342
Il cherche libpq-fe.h, mais http://packages.ubuntu.com/xenial/amd64/libpq-dev/filelist : /usr/include/postgresql/libpq-fe.h.
Comme ce n'est pas directement dans /usr/include, il ne le voit pas.
Ils auraient dû utiliser PKG_CHECK_MODULES (qui aurait donné un -I/usr/include/postgresql dans les CFLAGS) comme ils ont fait plus bas pour lua.

Mais l'usage de PostgreSQL n'est pas obligatoire, il y a Sqlite3.

eldynamo

  • Client Bbox fibre "câble"
  • *
  • Messages: 2
  • Strasbourg 67
Capturer les communications de ses voisins avec packet-o-matic
« Réponse #7 le: 02 novembre 2016 à 00:16:38 »
Merci hwti pour ta réponse. Oui pas besoin de Postgresql apparement.  Pour moi il me parraissait logique que la compilation ne fonctionne pas si postgresql n'etait pas detecter correctement mais je me trompais  :)

Merci a vivien pour le tuto.


 

Mobile View