Pages:
Actions
  • #1 par vivien le 26 May 2011
  • 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
  • #2 par vivien le 26 May 2011
  • 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.
  • #3 par Branco le 26 May 2011
  • Et tu as pu écouter une conversation ? Ton voitin a parlé de toi et du tapage nocturne que tu fais la nuit  :P
  • #4 par ricil78 le 07 Jan 2013
  • 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  :)
  • #5 par thenico le 07 Jan 2013
  • Je n'ai jamais vu le BPI (qui empêche cette technique) actif chez un cabloperateur.
  • #6 par eldynamo le 30 Oct 2016
  • 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
  • #7 par hwti le 31 Oct 2016
  • 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.
  • #8 par eldynamo le 02 Nov 2016
  • 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.

Pages:
Actions