« Busybox » : différence entre les versions

De Wiki doc

(Page créée avec « Category:linux [https://fr.wikipedia.org/wiki/BusyBox Busybox] est un exécutable regroupant une multitude d'utilitaires généralement disponibles via [https://fr.wik... »)
 
(Ajout de netcat)
Ligne 25 : Ligne 25 :
'''Lister les programmes disponibles dans notre busybox'''
'''Lister les programmes disponibles dans notre busybox'''
  busybox
  busybox
'''Utiliser le serveur web intégré'''
==Serveur WEB==
'''Utiliser le serveur WEB intégré'''
  busybox httpd -f -v -h /tmp/foo/
  busybox httpd -f -v -h /tmp/foo/
''Le serveur httpd ne liste pas les fichiers, il faut entrer une URL complète comme pour le TFTP. Cependant, il redirige automatiquement sur un index.html si présent.''
''Le serveur httpd ne liste pas les fichiers, il faut entrer une URL complète comme pour le TFTP. Cependant, il redirige automatiquement sur un index.html si présent.''
Ligne 33 : Ligne 34 :
* '''-v''': affiche les IP des clients se connectant et le message renvoyé par le serveur
* '''-v''': affiche les IP des clients se connectant et le message renvoyé par le serveur
* '''-h''': Spécifie le répertoire de travail du serveur. Si ce paramètre n'est pas renseigné, le répertoire courant est utilisé
* '''-h''': Spécifie le répertoire de travail du serveur. Si ce paramètre n'est pas renseigné, le répertoire courant est utilisé
==Netcat==
Les commandes [[netcat]] sont identique à la version ''apt''.
busybox nc -l -p 2323
busybox nc ipserver 2323
=Sources=
=Sources=
* https://busybox.net/FAQ.html#configure
* https://busybox.net/FAQ.html#configure
* https://busybox.net/downloads/BusyBox.html
* https://busybox.net/downloads/BusyBox.html

Version du 19 novembre 2017 à 14:37

Busybox est un exécutable regroupant une multitude d'utilitaires généralement disponibles via GNU Core Utilities. Il a l'avantage de ne prendre que très peu de place est peut être utilisé pour faire des systèmes embarqués très simples.

Installation

Via le gestionnaire de paquet

apt install busybox

Via les sources

Le paquet build-essential est nécessaire pour utiliser la commande make.

wget https://busybox.net/downloads/busybox-1.27.2.tar.bz2
tar xf busybox-1.27.2.tar.bz2
cd busybox-1.27.2/
make defconfig
make

Un exécutable busybox a été créé dans le répertoire courant.

La commande make defconfig permet de créer le fichier de configuration pour make (.config). Les commandes de pré-configurations possibles sont:

  • make defconfig: Créé la configuration la plus saine possible. Ça active la plupart des fonctionnalités sans quelques outils de débogage ainsi que les outils nécessitants des modifications du système comme les noms de périphériques selinux ou devfs. Utiliser cette option si vous voulez démarrer depuis un Busybox complet pour, par la suite, écrémer les fonctionnalités pour en avoir un plus petit.
  • make allnoconfig: Désactive tout. Cela crée une petite version de Busybox qui ne fait rien. Commencez ici si vous savez exactement ce que vous voulez et que vous souhaitez sélectionner uniquement ces fonctionnalités.
  • make menuconfig: Modifie interactivement le fichier .config via une interface de menu à plusieurs niveaux. Utilisez-le après l'un des deux précédents.

Les autres options sont:

  • make oldconfig: Mettre à jour un vieux fichier .config pour une nouvelle version de Busybox.
  • make allyesconfig: Sélectionnez absolument tout. Cela crée une version statiquement liée de Busybox remplie de code de débogage, avec des dépendances sur selinux, en utilisant des noms de devfs ... Cela s'assure que tout est compilé. Que le résultat fasse quelque chose d'utile ou non est une question ouverte.
  • make randconfig: Créer une configuration aléatoire à des fins de tests.

Usage

Nous allons partir du principe que l'emplacement de notre binaire busybox se trouve dans notre variable d'environnement $PATH. Lister les programmes disponibles dans notre busybox

busybox

Serveur WEB

Utiliser le serveur WEB intégré

busybox httpd -f -v -h /tmp/foo/

Le serveur httpd ne liste pas les fichiers, il faut entrer une URL complète comme pour le TFTP. Cependant, il redirige automatiquement sur un index.html si présent.

Paramètres:

  • -f: Ne rend pas la main. Ça permet de fermer le serveur web avec un ctrl+c au lieu de ce faire chier avec les commandes ps et kill
  • -v: affiche les IP des clients se connectant et le message renvoyé par le serveur
  • -h: Spécifie le répertoire de travail du serveur. Si ce paramètre n'est pas renseigné, le répertoire courant est utilisé

Netcat

Les commandes netcat sont identique à la version apt.

busybox nc -l -p 2323
busybox nc ipserver 2323

Sources