Repository 32bit  Forum
Repository 64bit  Wiki

Conf-network

Da Slacky.eu.
Versione delle 07:40, 6 nov 2008, autore: Slacky (Discussione | contributi)

(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)

Indice

Descrizione

Questo è il mio secondo script (il primo è stato Compiz-git) e questa volta ero indaffarato nelle configurazioni della mia rete...

Così è nato Conf-ntwork!


Usando questo script anche gli utenti meno esperti potranno configurare la loro rete (wireless o cablata) in pochi passi e senza bisogno dell'interfaccia grafica (dunque è utile se per caso dovete connettervi ad internet proprio per cercare informazioni su come configurare X.org).


Lo script è un po' lungo, ed è stato testato su Slackware 12.1 -- kernel 2.6.26.3 (ma dovrebbe funzionare con qualsiasi distro...).


Requisiti

NET-TOOL --> per i comandi di base

WIRELESS-TOOL --> per configurare le reti wireless

DHCPCD --> per poter ricevere l'ip da un server dhcp

WPA_SUPPLICANT --> wpa_supplicant


Download

Conf-network-v1.0 (home)


Script

Di seguito è riportato il codice dello script.

Versione 1.0

#!/bin/bash
# Script che aiuta l'utente nella configurazione dei dispositivi di rete
# (sia cablati, sia wireless)
#
# Per quanto riguarda il protocollo WPA-EAP di wpa_supplicant, non ho
# avuto modo di testarlo in quanto non dispongo degli strumenti necessari.
# Il resto dovrebbe funzionare :-)
#
# Script creato il 29/9/2008 da Ansa89 (aka h3r0)

# File di configurazione di wpa_supplicant
CONF_WPA="/root/.wpa_supplicant.conf"

# Funzione per controllare le dipendenze
check_dep () {

	# Controllo chi esegue lo script
	if [ "$(whoami)" != "root" ]; then
		echo
		echo "**ERRORE**"
		echo "Devi essere ROOT per eseguire questo script!"
		echo
		exit 1
	fi

	# Controllo se i net-tool sono installati
	if [ -z "$(which ifconfig)" -o -z "$(which route)" ]; then
		echo
		echo "**ERRORE**"
		echo "Devi avere installato i NET-TOOL per eseguire questo script!"
		echo
		exit 1
	fi

	# Controllo se i wireless-tool sono installati
	if [ -z "$(which iwlist)" -o -z "$(which iwconfig)" ]; then
		echo
		echo "**ERRORE**"
		echo "Devi avevre installato i WIRELESS-TOOL per eseguire questo script!"
		echo
		exit 1
	fi

	# Controllo se dhcpcd e' installato
	if [ -z "$(which dhcpcd)" ]; then
		echo
		echo "**ERRORE**"
		echo "Devi avere installato DHCPCD per eseguire questo script!"
		echo
		exit 1
	fi

	# Controllo se wpa_supplicant e' installato
	if [ -z "$(which wpa_supplicant)" ]; then
		echo
		echo "**ERRORE**"
		echo "Devi avere installato WPA_SUPPLICANT per eseguire questo script!"
		echo
		exit 1
	fi
}

# Funzione per impostare le variabili degli eseguibili
utilities () {
	IFCONFIG=`which ifconfig`
	ROUTE=`which route`
	DHCPCD=`which dhcpcd`
	IWCONFIG=`which iwconfig`
	IWLIST=`which iwlist`
	WPA_SUPPLICANT=`which wpa_supplicant`
}

# Funzione per spegnere le interfacce
smorza () {
	
	# Guardo quali interfacce sono accese
	if [ -z "$1" ]; then
		IF=`$IFCONFIG | grep -v lo | cut -d " " -f 1`
	else
		IF=$1
	fi
	for i in $IF; do
		echo -n "Devo spegnere $i? (s/n)  "
		read risp
		if [ -z "$risp" -o "$risp" == "s" ]; then
			echo -n "Spengo $i..."
			$DHCPCD -k $i &> /dev/null
			$IFCONFIG $i down &> /dev/null
			echo "Fatto"
			echo
			
			# Controllo se e' un'interfaccia wireless
			if ! [ -z "$(cat /proc/net/wireless | grep $i)" ]; then

				# Chiedo se devo fermare anche wpa_supplicant
				echo -n "Fermo anche wpa_supplicant? (s/n)  "
				read risp
				if [ -z "$risp" -o "$risp" == "s" ]; then
					killall wpa_supplicant &> /dev/null
					kill -9 `ps ux | grep wpa | grep -v grep | cut -d " " -f 7` &> /dev/null
					echo "Wpa_supplicant e' stato fermato."
					echo
				elif [ "$risp" == "n" ]; then
					echo
					echo "Wpa_supplicant non e' stato fermato."
					echo
				else
					echo
					echo "**ERRORE**"
					echo
					exit 1
				fi
				$IWCONFIG $i essid off ap off &> /dev/null
				$IWCONFIG $i key off &> /dev/null
				$IWCONFIG $i mode managed &> /dev/null
				$IFCONFIG $i up
			fi
			echo
		elif [ "$risp" == "n" ]; then
			echo "$i non e' stata spenta"
		else
			echo
			echo "**ERRORE**"
			echo
			exit 1
		fi
	done
}

# Funzione per configurare le reti cablate
wired () {

	# Controllo il parametro passato allo script
	if [ -z "$1" ]; then

		# Se non e' stato passato niente cerco le interfacce
		echo -n "Cerco le interfacce... "
		NUM=`wc -l /proc/net/dev | cut -d " " -f 1`
		if [ $NUM -gt 3 ]; then
			IF=`tail -n $(($NUM-3)) /proc/net/dev | cut -d " " -f 3 | cut -d ":" -f 1`
		else
			echo
			echo "**ERRORE**"
			echo "Nessuna scheda ethernet trovata!"
			echo
			exit 1
		fi

		# Tolgo le interfacce wireless perche' non interessano
		if [ -e /proc/net/wireless ]; then
			NUM=`wc -l /proc/net/wireless | cut -d " " -f 1`
			if [ $NUM -gt 2 ]; then
				IF2=`tail -n $(($NUM-2)) /proc/net/wireless | cut -d " " -f 3 | cut -d ":" -f 1`
				OLD_IF=$IF
				IF=""
					for i in $OLD_IF; do
						if [ -z "$(echo $IF2 | grep $i)" ]; then
							IF="$IF $i"
						fi
					done
			fi
		fi
		echo "Fatto"

		# Faccio scegliere l'interfaccia
		echo "Ho trovato queste intefacce wired:"
		for i in $IF; do
			IF2=$i
			echo $i
		done
		echo
		echo "Quale vuoi usare per la connessione?"
		echo -n "($IF2)  "
		read DEV
		if [ -z "$DEV" ]; then
			DEV=$IF2
		fi
	else
		NUM=`wc -l /proc/net/dev | cut -d " " -f 1`
		if tail -n $(($NUM-3)) /proc/net/dev | cut -d " " -f 3 | cut -d ":" -f 1 | grep $1 &> /dev/null; then
			DEV=$1
		else
			echo
			echo "**ERRORE**"
			echo "Devi inserire un'interfaccia valida!"
			echo
			exit 1
		fi
	fi

	# Spengo l'interfaccia prima di configurarla (uso la funzione smorza)
	smorza $DEV

	# Chiedo che tipo di connessione e'
	echo -n "Il tuo IP ti viene assegnato da un server DHCP? (s/n)  "
	read risp
	if [ -z "$risp" -o "$risp" == "s" ]; then

		# Configurazione rete con IP dinamici
		echo "Avvio il demone dhcpcd..."
		$DHCPCD -t 20 -d $DEV
		sleep 5
		if [ "$(ps aux | grep dhcpcd | wc -l | cut -d " " -f 1)" -gt 1 ]; then
			echo "Fatto!"
			echo "Hai configurato la tua rete cablata con successo! :-)"
			echo
		else
			echo "Non sono riuscito ad avviare dhcpcd!"
			echo "Prova ad eseguire '$DHCPCD -d $DEV' come utente root"
			echo
			exit 1
		fi
	elif [ "$risp" == "n" ]; then

		# Configurazione rete con IP statici
		echo -n "Inserisci l'IP per $DEV: "
		read IPADDR
		if [ -z "$IPADDR" ]; then
			echo "**ERRORE**"
			echo "Devi inserire un IP per configurare la scheda!"
			exit 1
		fi
		echo -n "Inserisci la maschera di rete (255.255.255.0): "
		read NETMASK
		if [ -z "$NETMASK" ]; then
			NETMASK="255.255.255.0"
		fi
		echo "Inserisci l'IP del broadcast:"
		echo -n "(puo' essere lasciato vuoto se si e' incerti)  "
		read BROADCAST
		echo "Inserisci l'IP del gateway:"
		echo -n "(necessario per la connessione ad internet attraverso $DEV)  "
		read GW
		echo "Imposto i parametri per $DEV..."
		if [ -z "$BROADCAST" ]; then
			$IFCONFIG $DEV $IPADDR netmask $NETMASK up
		else
			$IFCONFIG $DEV $IPADDR netmask $NETMASK broadcast $BROADCAST up
		fi
		if ! [ -z "$GW" ]; then
			$ROUTE add default gw $GW
		fi
		echo "nameserver 127.0.0.1" > /etc/resolv.conf
		echo "Fatto!"
		echo "Hai configurato la tua rete cablata con successo! :-)"
		echo
	else
		echo
		echo "**ERRORE**"
		echo
		exit 1
	fi
}

# Funzione per configurare le reti wireless
wireless () {
	if [ -z $1 ]; then
		echo "Cerco le interfacce..."
		if [ -e /proc/net/wireless ]; then
			NUM=`wc -l /proc/net/wireless | cut -d " " -f 1`
			if [ $NUM -gt 2 ]; then
				IF=`tail -n $(($NUM-2)) /proc/net/wireless | cut -d " " -f 3 | cut -d ":" -f 1`
			else
				echo
				echo "**ERRORE**"
				echo "Nessuna scheda wireless trovata!"
				echo
				exit 1
			fi
		else
			echo
			echo "**ERRORE**"
			echo "Nessuna scheda wireless trovata!"
			echo
			exit 1
		fi
		echo "Fatto"
		echo "Ho trovato queste interfacce wireless:"
		for i in $IF; do
			IF2=$i
			echo $i
		done
		echo
		echo "Quale vuoi usare per la connessione?"
		echo -n "($IF2)  "
		read DEV
		if [ -z "$DEV" ]; then
			DEV=$IF2
		fi
	else
		if [ -e /proc/net/wireless ]; then
			NUM=`wc -l /proc/net/wireless | cut -d " " -f 1`
			if tail -n $(($NUM-2)) /proc/net/wireless | cut -d " " -f 3 | cut -d ":" -f 1 | grep $1; then
				DEV=$1
			else
				echo
				echo "**ERRORE**"
				echo "Devi inserire un'interfaccia wireless valida!"
				echo
				exit 1
			fi
		fi
	fi

	# Spengo l'interfaccia prima di configurarla (uso la funzione smorza)
	smorza $DEV

	# Cerco le reti wireless
	echo "Scanning delle reti con $DEV..."
	echo
	$IWLIST $DEV scan
	echo
	echo "Non farti prendere dal panico per l'eventuale eccessiva lunghezza dell'output"
	
	# Incomincio a chiedere i vari parametri

	# ESSID
	echo -n "cerca la tua rete e inserisci l'ESSID (il nome): "
	read ESSID
	if [ -z "$ESSID" ]; then
		echo
		echo "**ERRORE**"
		echo "Devi inserire il nome di una rete a cui connettersi!"
		echo
		exit 1
	fi

	# CHANNEL
	echo -n "Inserisci il channel della rete (non la frequenza!): "
	read CHAN
	if [ -z "$CHAN" ]; then
		echo
		echo "**ERRORE**"
		echo "Devi inserire il canale della rete scelta!"
		echo
		exit 1
	fi

	# MODE
	echo -n "Inserisci il tipo di rete: managed (con access point) o ad-hoc (senza access point): "
	read MODE
	if [ -z "$MODE" ]; then
		MODE="managed"
	fi

	# Chiedo se serve la password
	echo -n "La rete necessita di password? (s/n)  "
	read risp
	if [ -z "$risp" -o "$risp" == "s" ]; then

		# Quale tipo di password?
		echo "WEP o WPA?"
		echo "(N.B. WPA e' solo per reti con access point!)"
		echo -n "(wpa)  "
		read TYPE
		if [ [ -z "$TYPE" -o "$TYPE" == "wpa" -o "$TYPE" == "WPA" ] -a [ "$MODE" == "managed" -o "$MODE" == "Managed"] ]; then

			# WPA
			echo "Hai scelto WPA"
			echo "ctrl_interface=/var/run/wpa_supplicant" > $CONF_WPA
			echo "ctrl_interface_group=0" >> $CONF_WPA
			echo "eapol_version=1" >> $CONF_WPA
			echo "ap_scan=1" >> $CONF_WPA
			echo "fast_reauth=1" >> $CONF_WPA
			echo "" >> $CONF_WPA
			chmod 600 $CONF_WPA

			# Chiedo quale tipo di WPA
			echo "Che tipo di criptaggio devo usare?"
			echo -e "\tWPA-PSK\n\tWPA-EAP\n\tNONE\t(per chiavi WEP)"
			read TYPE
			case "$TYPE" in

				# WPA-PSK
				WPA-PSK)

					# Chiedo la password
					echo "Adesso dovrai inserire la password."
					echo "Vuoi che i caratteri digitati vengano visualizzati? (s/n)  "
					read risp
					echo -n "Inserisci la password: "
					if [ -z "$risp" -o "$risp" == "n" ]; then
						read -s PSK
					elif [ "$risp" == "s" ]; then
						read PSK
					else
						echo
						echo "**ERRORE**"
						echo
						exit 1
					fi

					# Creo il file di configurazione
					echo -n "Creo il file di configurazione..."
					echo "network={" >> $CONF_WPA
					echo -e "\tscan_ssid=1" >> $CONF_WPA
					echo -e "\tssid=\"$ESSID\"" >> $CONF_WPA
					echo -e "\tmode=0" >> $CONF_WPA
					echo -e "\tproto=WPA WPA2" >> $CONF_WPA
					echo -e "\tkey_mgmt=WPA-PSK" >> $CONF_WPA
					echo -e "\tpairwise=CCMP TKIP" >> $CONF_WPA
					echo -e "\tgroup=CCMP TKIP WEP104 WEP40" >> $CONF_WPA
					echo -e "\tpsk=\"$PSK\"" >> $CONF_WPA
					echo "}" >> $CONF_WPA
					echo "Fatto"
					;;
				
				# WPA-EAP
				WPA-EAP)

					# Chiedo quale tipo di EAP
					echo "Quale tipo di EAP vuoi usare?"
					echo -e "\tTLS\n\tPEAP\n\tTTLS"
					read TYPE
					case "$TYPE" in

						# WPA-EAP --> TLS
						TLS)

							# Chiedo l'identita'
							echo -n "Inserisci la tua identita': "
							read ID
							if [ -z "$ID" ]; then
								echo
								echo "**ERRORE**"
								echo "Devi inserire il tuo identificativo per connetterti alla rete!"
								echo
								exit 1
							fi

							# Chiedo il file del certificato
							echo "Inserisci il nome del file che contiene"
							echo -n "l'autorizzazione del server (comprensivo di path assoluto!): "
							read CA
							if [ -z "$CA" -o ! -e $CA ]; then
								echo
								echo "**ERRORE**"
								echo "Devi inserire il nome del certificato del server, comprensivo di path assoluto!"
								echo
								exit 1
							fi

							# Chiedo il file del certificato
							echo "Inserisci il nome del file che contiene "
							echo -n "il certificato del client (comprensivo di path assoluto!): "
							read CLIENT
							if [ -z "$CLIENT" -o ! -e $CLIENT ]; then
								echo
								echo "**ERRORE**"
								echo "Devi inserire il nome del certicficato del tuo client, comprensivo di path assoluto!"
								echo
								exit 1
							fi

							# Chiedo il file della chiave privata
							echo "Inserisci il nome del file che contiene"
							echo -n "la chiave privata (comprensivo di path assoluto!): "
							read KEY
							if [ -z "$KEY" -o ! -e $KEY ]; then
								echo
								echo "**ERRORE**"
								echo "Devi inserire il nome della chiave primaria, comprensivo di path assololuto!"
								echo
								exit 1
							fi

							# Chiedo la password
							echo "Adesso dovrai inserire la password."
							echo -n "Vuoi che i caratteri digitati vengano visualizzati? (s/n)  "
							read risp
							echo -n "Inserisci la password: "
							if [ -z "$risp" -o "$risp" == "n" ]; then
								read -s PASSWD
							elif [ "$risp" == "s" ]; then
								read PASSWD
							else
								echo
								echo "**ERRORE**"
								echo
								exit 1
							fi

							# Creo il file di configurazione
							echo -n "Creo il file di configurazione..."
							echo "network={" >> $CONF_WPA
		                                        echo -e "\tscan_ssid=1" >> $CONF_WPA
		                                        echo -e "\tssid=\"$ESSID\"" >> $CONF_WPA
		                                        echo -e "\tmode=0" >> $CONF_WPA
		                                        echo -e "\tproto=WPA WPA2" >> $CONF_WPA
		                                        echo -e "\tkey_mgmt=WPA-EAP" >> $CONF_WPA
		                                        echo -e "\tpairwise=CCMP TKIP" >> $CONF_WPA
		                                        echo -e "\tgroup=CCMP TKIP WEP104 WEP40" >> $CONF_WPA
							echo -e "\teap=TLS" >> $CONF_WPA
							echo -e "\tidentity=\"$ID\"" >> $CONF_WPA
							echo -e "\tca_cert=\"$CA\"" >> $CONF_WPA
							echo -e "\tclient_cert=\"$CLIENT\"" >> $CONF_WPA
							echo -e "\tprivate_key=\"$KEY\"" >> $CONF_WPA
							echo -e "\tprivate_key_passwd=\"$PASSWD\"" >> $CONF_WPA
							echo "}" >> $CONF_WPA
		                                        echo "Fatto"
		                                        ;;

						# WPA-EAP --> PEAP
						PEAP)

							# Chiedo l'identita'
							echo -n "Inserisci la tua identita': "
      	                                                	read ID
							if [ -z "$ID" ]; then
                                                               	echo
                                                               	echo "**ERRORE**"
                                                               	echo "Devi inserire il tuo identificativo per connetterti alla rete!"
                                                               	echo
                                                                exit 1
                                                       	fi

							# Chiedo il file del certificato
                                                       	echo "Inserisci il nome del file che contiene"
                                                       	echo -n "l'autorizzazione del server (comprensivo di path assoluto!): "
                                                       	read CA
							if [ -z "$CA" -o ! -e $CA ]; then
                                                        	echo
                                                               	echo "**ERRORE**"
                                                               	echo "Devi inserire il nome del certificato del server, comprensivo di path assoluto!"
                                                               	echo
                                                               	exit 1
                                                       	fi

							# Chiedo la password
							echo "Adesso dovrai inserire la password."
                                                       	echo -n "Vuoi che i caratteri digitati vengano visualizzati? (s/n)  "
                                                       	read risp
                                                       	echo -n "Inserisci la password: "
                                                       	if [ -z "$risp" -o "$risp" == "n" ]; then
								read -s PASSWD
                                                       	elif [ "$risp" == "s" ]; then
                                                               	read PASSWD
                                                       	else
                                                               	echo
                                                               	echo "**ERRORE**"
                                                               	echo
                                                               	exit 1
                                                       	fi

							# Creo il file di configurazione
                                                       	echo -n "Creo il file di configurazione..."
                                                       	echo "network={" >> $CONF_WPA
                                                       	echo -e "\tscan_ssid=1" >> $CONF_WPA
                                                       	echo -e "\tssid=\"$ESSID\"" >> $CONF_WPA
                                                       	echo -e "\tmode=0" >> $CONF_WPA
                                                       	echo -e "\tproto=WPA WPA2" >> $CONF_WPA
                                                       	echo -e "\tkey_mgmt=WPA-EAP" >> $CONF_WPA
							echo -e "\teap=PEAP" >> $CONF_WPA
							echo -e "\tidentity=\"$ID\"" >> $CONF_WPA
							echo -e "\tpassword=\"$PASSWD\"" >> $CONF_WPA
							echo -e "\tca_cert=\"$CA\"" >> $CONF_WPA
							echo -e "\tphase1=\"peaplabel=0\"" >> $CONF_WPA
							echo -e "\tphase2=\"auth=MSCHAPV2\"" >> $CONF_WPA
							echo "}" >> $CONF_WPA
							echo "Fatto"
							;;
							
						# WPA-EAP --> TTLS
						TTLS)
							
							# Chiedo l'identita'
							echo -n "Inserisci la tua identita': "
                                                       	read ID
                                                       	if [ -z "$ID" ]; then
                                                       	        echo
                                                       	        echo "**ERRORE**"
                                                       	        echo "Devi inserire il tuo identificativo per connetterti alla rete!"
                                                       	        echo
                                                       	        exit 1
                                                       	fi

							# Chiedo l'identita' anonima
							echo -n "Inserisci la tua identita' anonima: "
							read ANON_ID

							# Chiedo il file del certificato
                                                       	echo "Inserisci il nome del file che contiene"
                                                       	echo -n "l'autorizzazione del server (comprensivo di path assoluto!): "
                                                       	read CA
                                                       	if [ -z "$CA" -o ! -e $CA ]; then
                                                       	        echo
                                                       	        echo "**ERRORE**"
                                                       	        echo "Devi inserire il nome del certificato del server, comprensivo di path assoluto!"
                                                       	        echo
                                                       	        exit 1
                                                       	fi

							# Chiedo la password
                                                       	echo "Adesso dovrai inserire la password."
                                                       	echo -n "Vuoi che i caratteri digitati vengano visualizzati? (s/n)  "
                                                       	read risp
                                                       	echo -n "Inserisci la password: "
                                                       	if [ -z "$risp" -o "$risp" == "n" ]; then
                                                       	        read -s PASSWD
                                                	        elif [ "$risp" == "s" ]; then
                                                       	        read PASSWD
                                                       	else
                                                       	        echo
                                                       	        echo "**ERRORE**"
                                                               	echo
                                                               	exit 1
                                                       	fi

							# Creo il file di configurazione
                                                       	echo -n "Creo il file di configurazione..."
							echo "network={" >> $CONF_WPA
                                                       	echo -e "\tscan_ssid=1" >> $CONF_WPA
                                                       	echo -e "\tssid=\"$ESSID\"" >> $CONF_WPA
                                                       	echo -e "\tmode=0" >> $CONF_WPA
                                                       	echo -e "\tproto=WPA WPA2" >> $CONF_WPA
                                                       	echo -e "\tkey_mgmt=WPA-EAP" >> $CONF_WPA
                                                       	echo -e "\teap=TTLS" >> $CONF_WPA
                                                       	echo -e "\tidentity=\"$ID\"" >> $CONF_WPA
							echo -e "\tanonymous_identity=\"$ANON_ID\"" >> $CONF_WPA
                                                       	echo -e "\tpassword=\"$PASSWD\"" >> $CONF_WPA
                                                       	echo -e "\tca_cert=\"$CA\"" >> $CONF_WPA
                                                       	echo -e "\tphase2=\"auth=MD5\"" >> $CONF_WPA
                                                       	echo "}" >> $CONF_WPA
							echo "Fatto"
                                                       	;;
						
						# Spazio per gli errori
						*)
							echo
							echo "**ERRORE**"
							echo "Devi inserire un tipo di EAP tra quelli proposti!"
							echo
							exit 1
							;;
					esac
					;;
				
				# NONE (static WEP)
				NONE)

					# Chiedo la password
					echo "Adesso dovrai inserire la password."
                                        echo -n "Vuoi che i caratteri digitati vengano visualizzati? (s/n)  "
                                        read risp
                                        echo -n "Inserisci la password in esadecimale (controlla le impostazioni dell'access point): "
                                        if [ -z "$risp" -o "$risp" == "n" ]; then
	                                        read -s PASSWD
                                        elif [ "$risp" == "s" ]; then
                                                read PASSWD
                                        else
                                                echo
                                                echo "**ERRORE**"
                                                echo
                                                exit 1
                                        fi

					# Creo il file di configurazione
					echo -n "Creo il file di configurazione..."
                                        echo "network={" >> $CONF_WPA
                                        echo -e "\tscan_ssid=1" >> $CONF_WPA
                                        echo -e "\tssid=\"$ESSID\"" >> $CONF_WPA
                                        echo -e "\tmode=0" >> $CONF_WPA
					echo -e "\tkey_mgmt=NONE" >> $CONF_WPA
                                        echo -e "\twep_tx_keyidx=0" >> $CONF_WPA
                                        echo -e "\twep_key0=$PASSWD" >> $CONF_WPA
					echo "}" >> $CONF_WPA
                                        echo "Fatto"
                                        ;;
				
				# Spazio per gli errori
				*)
					echo
					echo "**ERRORE**"
					echo "Devi inserire un tipo di criptaggio tra quelli proposti!"
					echo
					exit 1
					;;
			esac

			# Chiedo che driver deve usare wpa_supplicant
			echo "Che driver deve usare wpa_supplicant?"
			echo -e "\twext\t(Generic driver)\tDefault"
			echo -e "\tralink\t(Ralink driver)"
			echo -e "\thostap\t(Prism2/2.5/3 driver)"
			echo -e "\tprism54\t(PrismGT/Duette/Indigo driver)"
			echo -e "\tmadwifi\t(Atheros driver)"
			echo -e "\tatmel\t(Atmel AT76C5XXx driver)"
			echo -e "\tipw\t(IntelProWireless 2100/2200 driver)"
			echo -e "\tndiswrapper\t(Ndiswrapper driver)"
			read DRIVER
			if [ -z "$DRIVER" ]; then
				DRIVER="wext"
			fi

			# Imposto i parametri wireless
			echo "Setto i parametri wireless per $DEV e avvio wpa_supplicant..."
			if $IWCONFIG $DEV mode $MODE essid $ESSID channel $CHAN && $WPA_SUPPLICANT -D$DRIVER -i$DEV -c$CONF_WPA -B ; then
				echo "Fatto"
				wired $DEV
			else
				echo
				echo "**ERRORE**"
				echo
				exit 1
			fi
		elif [ "$TYPE" == "wep" -o "$TYPE" == "WEP" ]; then

			# Se non e' WPA, allora e' WEP
			echo "Hai scelto WEP"

			# Chiedo la password
			echo "Adesso dovrai inserire la password."
                        echo "Vuoi che i caratteri digitati vengano visualizzati? (s/n)  "
                        read risp
                        echo -n "Inserisci la password in esadecimale (controlla le impostazioni dell'access point): "
                        if [ -z "$risp" -o "$risp" == "n" ]; then
	                        read -s PASSWD
                        elif [ "$risp" == "s" ]; then
                                read PASSWD
                        else
                                echo
                                echo "**ERRORE**"
                                echo
                                exit 1
                        fi

			# Imposto i parametri wireless
			echo "Setto i parametri wireless per $DEV..."
			if $IWCONFIG $DEV mode $MODE essid $ESSID channel $CHAN && $IWCONFIG $DEV key $PASSWD ; then
				echo "Fatto"
				wired $DEV
			else
				echo
				echo "**ERRORE**"
				echo
				exit 1
			fi
		else
			echo
			echo "**ERRORE**"
			echo "Devi inserire un tipo di password tra quelli proposti!"
			echo
			exit 1
		fi
	elif [ "$risp" == "n" ]; then
		
		# La rete wireless non ha bisogno di password
		echo "La rete scelta non e' protetta."

		# Imposto i parametri wireless
		echo "Setto i parametri wireless per $DEV..."
		if $IWCONFIG $DEV mode $MODE essid $ESSID channel $CHAN ; then
			echo "Fatto"
			$IWCONFIG $DEV key off &> /dev/null
			wired $DEV
		else
			echo
			echo "**ERRORE**"
			echo
			exit 1
		fi
	else
		echo
		echo "**ERRORE**"
		echo
		exit 1
	fi
}

# Controllo le dipendenze
check_dep

# Imposto gli eseguibili
utilities

# Controllo i parametri passati allo script
case "$1" in
	"--wired")
		wired $2
		exit 0
		;;

	"--wireless")
		wireless $2
		exit 0
		;;

	*)
		echo
		echo "Opzioni valide:"
		echo "$0 --wired [dev] --> per configurare reti cablate"
		echo "$0 --wireless [dev] --> per configurare reti wireless"
		echo -e "\t\t[dev] --> l'interfaccia da usare (opzionale, da usare senza '[]')"
		echo
		echo "Versione 1.0"
		echo "By Ansa89  (http://stiiv.netsons.org)"
		echo
		exit 1
		;;
esac
#EOF
  • Autore: Ansa89


News

Sezione dedicata alla spiegazione delle eventuali migliorie che vengono apportate allo script.

- V 1.0 --> Prima release...Attendo qualche feedback per eventuali modifiche


Feedback

Per commenti e suggerimenti inviatemi una e-mail a

ansa89[AT]slacky[DOT]it


Oppure venite sul mio sito internet

http://stiiv.netsons.org


HAVE A LOT OF FUN

Strumenti personali
Namespace

Varianti