Dialog & gestion des variable

Résolu/Fermé
dialog - 24 sept. 2013 à 11:54
 dialog - 27 sept. 2013 à 17:51
Bonjour à tous,

Je suis en train d'essayer de faire un dialog qui lancerait tcpdump avec des variables.

En effet, avec dialog je demande l'addr ip que j'essaie de mettre en variable pour l'appliquer à tcpdump.

Voici mon code:
dialog_menu ;;
"Tcpdump" );
dialog --stdout --inputbox "Entrer IP" 10 60 > $ip
tcpdump eth0 $ip -w $ip.pcap
dialog --stdout --clear --msgbox "Capture en cours" 10 60 ;
read;


En fait j'ai essayé de mettre ip en variable, mais cela ne fonctionne pas!
Je suis preneur pour toute idée !
Merci pour votre aide
A voir également:

2 réponses

zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 417
24 sept. 2013 à 11:59
Salut,

dialog_menu ;;
"Tcpdump" );
IP=$(dialog --stdout --inputbox "Entrer IP" 10 60)
tcpdump eth0 ${IP} -w ${IP}.pcap
dialog --stdout --clear --msgbox "Capture en cours" 10 60 ;
read;

1
Salut Zipe31,

Merci cela fonctionne très bien !
Par contre, j'ai essayé plusieurs variables, mais il me met une erreur de symbole apres le ; du code ci-dessous:

dialog_menu ;;
"Set IP config" );
IPADDR=$(dialog --stdout --inputbox "Enter eth0 network IP" 10 60)
IPSUB=$(dialog --stdout --inputbox "Enter subnet mask" 10 60)
IPGW=$(dialog --stdout --inputbox "Enter Gateway" 10 60)
IPDNS=$(dialog --stdout --inputbox "Enter DNS" 10 60)
/sbin/ifdown eth0;
echo nameserver ${IPDNS} > /etc/resolv.conf;
/sbin/ifconfig eth0 ${IPADDR} ${IPSUB};
/sbin/route add default gw ${IPGW};
/sbin/ifup eth0;
dialog --stdout --clear --msgbox "Network Configuration Success" 10 60;
read;

J'ai vérifié dans le menu title, et l'appel correspond bien. Qu'ai-je loupé ?
Merci pour ton aide
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 417
24 sept. 2013 à 17:43
dialog_menu ;;
"Set IP config" );
Euh... c'est quoi c'est 2 commandes ? Des fonctions ?
C'est tiré d'un script shell (bash ou autres) ?
0
Holala je n'y comprends plus rien !

Voici le code afin que tu y comprennes peut etre plus que moi !

code effacé car tronqué, voir ci-dessous, merci
0
Le voici en entier

#!/bin/bash

setterm -blank 0

function dialog_menu {
dialog --title " Configuration Console " --menu "Please choose the action you want to proceed :" 30 65 15 "IP configuration" "Current Network configuration" "PCAP generation" "Generate PCAP" "USB Mount" "Mounting capture USB device" "UMount USB" "UMouting USB device" Console "To go back to command line" 2>~/tmp ;

menuitem='cat ~/tmp'
opt=$?
case $menuitem in

dialog_menu ;;
"IP configuration" ) var='ifconfig';
dialog --title 'IP Configuration' --backtitle 'Display Networks' --infobox "$var" 30 80;

dialog_menu ;;
"PCAP generation" );
IP=$(dialog --stdout --inputbox "Entrer IP" 10 60)
tcpdump eth0 ${IP} -w ${IP}.pcap
dialog --stdout --clear --msgbox "Capture en cours" 10 60 ;
read;

dialog_menu ;;
"USB Mount") var='/bin/mount /media/usb';
dialog --title "USB Initialisation" --backtitle "Mounting USB" --infobox "$var" 5 15;
dialog --title 'USB Status' --msgbox 'Mounting Successful\n' 10 25;

dialog_menu ;;
"UMount USB") var='/bin/umount /media/usb';
dialog --title "USB UnInitialisation" --backtitle "UnMounting USB" --infobox "$var" 5 15;
dialog --title 'USB Status' --msgbox 'UnMounting Successful\nYou can extract the USB device' 10 25;

dialog_menu ;;
Exit) clear;
exit;;
esac
clear
}
dialog_menu
rm ~/tmp
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 417
24 sept. 2013 à 18:28
Moi aussi j'ai du mal à comprendre le sens de ton script ;-(

Déjà ça :
 function dialog_menu {
dialog --title " Configuration Console " --menu "Please choose the action you want to proceed :" 30 65 15 "IP configuration" "Current Network $

Que fait ce "$" en fin de ligne ? Normalement il devrait y avoir une quote double là non ?

Et puis ta fonction elle englobe tout ton script, c'est normal ?
0
je pense il faut que tu lises le 2eme post, car le premier était tronqué dans le nano
Il n'y a pas de $ a cet endroit
Merci
0