|
| test e4a linux "k.i.s.s." version |
« Precedente :: Successivo » |
| Autore |
Messaggio
|
| sparayurji |
Inviato: Mar Gen 26, 2010 10:38 pm Oggetto: |
|
|
Registrato: 13/04/07 22:21
Messaggi: 737
|
0.5b:
ci ho perso delle belle orette ma dovrei essere riuscito ad automatizzare completamente il mascheramento degli ip, mantenendo l'allineamento del report senza la necessita' di inserire manualmente gli spazi.
in pratica ora e' sufficiente inserire:
-ip apparato
-ip router/gateway
-hostname
e poi lo script pensa a tutto lui.
in piu' ora tutti i parametri, nessuno escluso, sono sott'occhio ad inizio pagina. li ho anche rinominati in modo piu 'umano'.
per favore servono betatester pero', perche' nun se sa mai...
Codice: #!/bin/bash
# TESTE4A K.I.S.S. VERSION 0.5b, BY SPARAYURJI
profilo='[4Mb/512Kb/256Kb]' # dati profilo, inserire i propri
# DATI NECESSARI A MASCHERARE GLI IP SENSIBILI
IP_APPARATO=123.456.678.901 # l'ip dell'apparato e4a
LAN_GATEWAY=192.168.0.1 # l'ip della lan assegnato al router, indicato anche come gateway nelle impostazioni di rete del pc in uso
LAN_HOSTNAME=johndoe # l'hostname della lan assegnato al pc in uso
# PREFERENZE PER IL TRACE
SITO_TRACE=maya.ngi.it # modificare a piacere con indirizzo alternativo
PING_PER_HOP=180 # modificare a piacere (180 = 180 secondi = 180 passaggi per hop)
# PARAMETRI PER IL RILEVAMENTO BANDA OCCUPATA PRE TEST DL
NETCARD=eth0 # modificare se scheda di rete diversa da eth0
BWM_TIME=20 # durata rilevamento (20 = 10 secondi)
# PREFERENZE PER IL DOWNLOAD TEST
SERVER_DL=debian.fastweb.it/debian/ # modificare con indirizzo alternativo da cui scaricare
FILE_DL=ls-lR.gz # modificare con file alternativo da scaricare
PARAMETRI_FTP=--no-passive-ftp # "--no-passive-ftp" per ftp-attivo; "--passive-ftp" per ftp-passivo (--passive-ftp non e' realmente necessario, serve solo a inserirlo nel report)
##################### INIZIO TEST #################################################################
echo "[code]----------------------------------------------------------------------------"
echo "teste4a k.i.s.s. - 0.5a - by sparayurji - $(uname -sr) - [$(date +%b%d)][$(date +%R)]"
echo "----------------------------------------------------------------------------"
# inizio trace test
e4aipnm=`echo $IP_APPARATO | cut -d '.' -f1,2,3`
e4aipln=`echo $IP_APPARATO | cut -d '.' -f4`
e4aip1=`expr $e4aipln + 0`
e4aip2=`expr $e4aipln + 1`
e4aip3=`expr $e4aipln + 2`
e4aip4=`expr $e4aipln + 3`
e4aip5=`expr $e4aipln + 4`
e4aip6=`expr $e4aipln + 5`
langwnm=`echo $LAN_GATEWAY | cut -d '.' -f1,2,3`
spaces_ip=`expr 16 - $(expr length $IP_APPARATO)`
spaces_gw=`expr 16 - $(expr length $LAN_GATEWAY)`
spaces_hn=`expr 21 - $(expr length $LAN_HOSTNAME)`
if type mtr sed > /dev/null 2>&1; then
echo "mtr su $SITO_TRACE [mtr $(mtr --version | cut -d ' ' -f2,2)]"
mtr --no-dns -c $PING_PER_HOP -r $SITO_TRACE | sed -r -e "s/$e4aipnm.($e4aip1|$e4aip2|$e4aip3|$e4aip4|$e4aip5|$e4aip6)[[:space:]]{1,$spaces_ip}/xxx.xxx.xxx.xxx /g" -e "s/$LAN_HOSTNAME[[:space:]]{1,$spaces_hn}/xxx /g" -e "s/$langwnm.[0-9]{1,3}[[:space:]]{1,$spaces_gw}/xxx.xxx.xxx.xxx /g" -e "s/HOST: /host /g"
else echo "[MTR E/O SED NON INSTALLATI, USCITA]"
exit 1
fi
echo "----------------------------------------------------------------------------"
###########################################################################################
# inizio parte da commentare per disabilitare il rilevamento pre dl, ad esempio nel caso #
# la scheda usata per collegarsi all'apparato e4a fosse la stessa usata per la lan e che #
# fosse in uso al momento del test, cosa che azzererebbe il senso del rilevamento stesso #
###########################################################################################
if type bwm-ng > /dev/null 2>&1; then
# inizio rilevamento banda occupata
echo "[*] $(expr $(bwm-ng -I $NETCARD -A 2 -c $BWM_TIME -o csv 1 -T avg | tail -1 | cut -d ';' -f4,11 | cut -d '.' -f1,1) \/ 1024) KB/s gia' occupati in download [bwm-ng $(bwm-ng -V | grep bwm-ng | cut -d ' ' -f5,5) su $NETCARD]"
else echo "[bwm-ng non installato, rilevamento banda gia' usata in dl non eseguito]"
fi
echo "----------------------------------------------------------------------------"
#########################################################
# fine parte da commentare per disabilitare rilevamento #
#########################################################
if type wget > /dev/null 2>&1; then
# inizio donwload test
echo "download di $SERVER_DL$FILE_DL [wget $(wget -V | sed -e '2,30d' | cut -d ' ' -f3,3)]"
echo "http: $(wget -O /dev/null 2>&1 http://$SERVER_DL$FILE_DL | tail -2 | cut -d ' ' -f3,4 | cut -c 2,2,3,4,5) KB/s"
echo " ftp: $(wget $PARAMETRI_FTP -O /dev/null 2>&1 ftp://$SERVER_DL$FILE_DL | tail -2 | cut -d ' ' -f3,4 | cut -c 2,2,3,4,5) KB/s ($PARAMETRI_FTP)"
else echo "[wget non installato, download test non eseguito]"
fi
echo "----------------------------------------------------------------------------"
echo "$profilo[/code]" |
|
| Top |
|
 |
Sponsor
|
|
 |
| sparayurji |
Inviato: Ven Gen 29, 2010 4:45 pm Oggetto: |
|
|
Registrato: 13/04/07 22:21
Messaggi: 737
|
aggiornato il primo post.
sbacatina minima: con ubuntu lts il parsing dei dati di wget non avveniva correttamente. in generale i 'tagli' ora dovrebbero essere meno dipendenti dal formato dei vari output.
ridotto il numero dei parametri necessari al mascheramento ip a due.
il rilevamento della banda pre test avviene ora anche sui dati in uscita.
introdotto l'upload test (che non mi soddisfa ora come ora perche' e' necessario registrarsi al server ftp). le impostazioni relative sono cmq parametrizzate. sul file fittizio da uploadare ho preso spunto dal codice di emilien, e dal suggerimento di relative.
[edit]
ho anche minimalizzato parecchio il formato del report, dimenticavo. |
|
| Top |
|
 |
| r3lative |
Inviato: Ven Gen 29, 2010 8:36 pm Oggetto: |
|
|
 BANNATO
Registrato: 03/05/07 00:27
Messaggi: 7340 Residenza: Saccolongo - PD - ITALY - terzo pianeta a sinistra
|
un paio di considerazioni ...
- non è una gara a quanti comandi riesci ad infilare in una riga, 360 chr per riga mi sembrano francamente troppi, usa delle variabili d'appoggio tutti te ne saranno grati, e ti ringrazierai da solo quando tra 2 mesi ci vorrai mettere mano
- l'uso di `...` è molto bello e semplice se hai una tastiera US standard, ma con tutte le altre hai solo problemi, consiglio di usare $(...) che fa comunque lo stesso lavoro senza dover fare la macumba per trovare il carattere giusto
- il test di pre-dl parte dal concetto che quel pc è l'unico connesso in rete ... non dico altro ...
- i test di verifica prerequisiti mettili in testa di tutto, e nel caso non siano soddisfatti, esci, inutile arrivare a metà test per scoprire di non avere il sed che poi il sed non è possibile non averlo, mentre l'mtr è facile che non sia installato di default _________________ “Mai argomentare con un idiota;
ti fa scendere al suo livello e ti batte per esperienza ”
r3lative blog |
|
| Top |
|
 |
| sparayurji |
Inviato: Ven Gen 29, 2010 9:22 pm Oggetto: |
|
|
Registrato: 13/04/07 22:21
Messaggi: 737
|
| r3lative ha scritto: | | un paio di considerazioni ... |
benaccettissime.
| Citazione: |
- non è una gara a quanti comandi riesci ad infilare in una riga, 360 chr per riga mi sembrano francamente troppi, usa delle variabili d'appoggio tutti te ne saranno grati, e ti ringrazierai da solo quando tra 2 mesi ci vorrai mettere mano  |
in effetti il limitare il numero di righe di codice e' un vizio che fa il paio col far occupare alla root il minor spazio possibile, quindi lo ammetto
si cmq ci stavo pensando, in prima battuta ho cercato di privilegiare i lati utilizzatori e fruitori, anche perche' il lato sviluppatore e' quello che non conosco.
| Citazione: |
- l'uso di `...` è molto bello e semplice se hai una tastiera US standard, ma con tutte le altre hai solo problemi, consiglio di usare $(...) che fa comunque lo stesso lavoro senza dover fare la macumba per trovare il carattere giusto  |
e tu pensi che lo sapessi?
ottima dritta.
| Citazione: |
- il test di pre-dl parte dal concetto che quel pc è l'unico connesso in rete ... non dico altro ... |
si questo in realta' e' gia' esplicitato all'interno del codice con una parte commentata cercando di metterla in evidenza. ad ogni modo e' un palliativo, l'intenzione e' di inserire un parametro per ogni sezione del test per lasciare liberta' di scegliere quali eseguire. voglio inserie anche una nota riguardo al fatto che e' una rilevazione a scopo cmq indicativo.
| Citazione: |
- i test di verifica prerequisiti mettili in testa di tutto, e nel caso non siano soddisfatti, esci, inutile arrivare a metà test per scoprire di non avere il sed che poi il sed non è possibile non averlo, mentre l'mtr è facile che non sia installato di default |
e pure qui... mi sono fossilizzato sugli if sezione per sezione tanto da non riuscire a vedere oltre la pagliuzza... beh cmq ho toccato con mano quanto migliore sia l'approccio open... diciamo cosi'  |
|
| Top |
|
 |
| r3lative |
Inviato: Ven Gen 29, 2010 10:37 pm Oggetto: |
|
|
 BANNATO
Registrato: 03/05/07 00:27
Messaggi: 7340 Residenza: Saccolongo - PD - ITALY - terzo pianeta a sinistra
|
| sparayurji ha scritto: | | r3lative ha scritto: |
- non è una gara a quanti comandi riesci ad infilare in una riga, 360 chr per riga mi sembrano francamente troppi, usa delle variabili d'appoggio tutti te ne saranno grati, e ti ringrazierai da solo quando tra 2 mesi ci vorrai mettere mano  |
in effetti il limitare il numero di righe di codice e' un vizio che fa il paio col far occupare alla root il minor spazio possibile, quindi lo ammetto
|
si, ma la cosa va sempre vista nella sua completezza, se si tratta di uno script che viene eseguito 10volte a secondo, e che occupa risorse, ha significato fare anche questo tipo di ottimizzazioni, ma per un programma di questo tipo, direi che è preferibile privilegiare la leggibilita e semplicita del codice
| Citazione: | | Citazione: |
- l'uso di `...` è molto bello e semplice se hai una tastiera US standard, ma con tutte le altre hai solo problemi, consiglio di usare $(...) che fa comunque lo stesso lavoro senza dover fare la macumba per trovare il carattere giusto  |
e tu pensi che lo sapessi?
ottima dritta.
|
penso proprio di si, visto che nel programma usi entrambi
per inciso, io quando devo, imposto la keyb a en e vado a memoria, faccio prima che non cercare la combinazione di tasti per fare comparire il malefico `
| Citazione: |
| Citazione: |
- i test di verifica prerequisiti mettili in testa di tutto, e nel caso non siano soddisfatti, esci, inutile arrivare a metà test per scoprire di non avere il sed che poi il sed non è possibile non averlo, mentre l'mtr è facile che non sia installato di default |
e pure qui... mi sono fossilizzato sugli if sezione per sezione tanto da non riuscire a vedere oltre la pagliuzza... beh cmq ho toccato con mano quanto migliore sia l'approccio open... diciamo cosi'  |
il mio è più un approccio che altro, io cerco di fare gli init all'inizio in modo di avere poi un ambiente conosciuto, quindi le verifiche e l'inizializzazione delle variabili sono il primo step, poi ragioniamo sul programma  _________________ “Mai argomentare con un idiota;
ti fa scendere al suo livello e ti batte per esperienza ”
r3lative blog |
|
| Top |
|
 |
| sparayurji |
Inviato: Ven Gen 29, 2010 11:14 pm Oggetto: |
|
|
Registrato: 13/04/07 22:21
Messaggi: 737
|
| r3lative ha scritto: | | sparayurji ha scritto: |
e tu pensi che lo sapessi?
ottima dritta.
|
penso proprio di si, visto che nel programma usi entrambi
per inciso, io quando devo, imposto la keyb a en e vado a memoria, faccio prima che non cercare la combinazione di tasti per fare comparire il malefico `
|
no, giuro. o meglio non mi ero reso conto che lo sapevo. sembra ostrogoto ma e' la verita'.
si sul ` ricordo gli smadonnamenti alle prime esperienze serie col pinguino...
btw niente da fa', su linux (e immagino anche unix) la tastiera inglese e' praticamente una dipendenza. va be', se si vuole uscire dall'interfaccia grafica, che ormai si puo' quasi usare senza. quasi.
| Citazione: |
il mio è più un approccio che altro, io cerco di fare gli init all'inizio in modo di avere poi un ambiente conosciuto, quindi le verifiche e l'inizializzazione delle variabili sono il primo step, poi ragioniamo sul programma  |
e sarebbe probabilmente stato in parte anche il mio, se avessi saputo come usare le variabili. non scherzo. poi chiaro, mi sono saputo muovere in fretta, ma questo lo do' per scontato, dopo piu' di 15 anni passati davanti ad un monitor, e che cazzo almeno questo
imparoimparoimparoimparo... |
|
| Top |
|
 |
| sparayurji |
Inviato: Sab Gen 30, 2010 4:57 pm Oggetto: |
|
|
Registrato: 13/04/07 22:21
Messaggi: 737
|
| 0.7b: aggiornato primo post |
|
| Top |
|
 |
| sparayurji |
Inviato: Lun Feb 01, 2010 1:29 am Oggetto: |
|
|
Registrato: 13/04/07 22:21
Messaggi: 737
|
aggiornato primo post con la versione 0.8b, diciamo una minor release, ho sistemato un po' di cose, specialmente i commenti, ora parecchio estesi (pure troppo forse...)
l'unica funzionalita' aggiuntiva e' il secondo test dl... |
|
| Top |
|
 |
| sparayurji |
Inviato: Mer Feb 24, 2010 2:00 pm Oggetto: |
|
|
Registrato: 13/04/07 22:21
Messaggi: 737
|
aggiornato il post iniziale con la 0.9b.
piu' che altro modifiche lato interfaccia/usabilita', diciamo:
- per il masking e' ora sufficiente il solo ip della routerboard sul tetto, su cui viene fatto un doppio controllo, sia sul formato sia (tramite dydns) sulla correttezza dell'ip inserito. entrambi i controlli sono bloccanti in caso di errore, per evitare che per distrazione si postino in pubblico dati non voluti...
avrei potuto omettere tale variabile e ottenerla automaticamente, ma ho preferito lasciarla perche' essendo la connessione a ip fissi, e' molto piu' che preferibile avere coscienza dei propri ip.
- a inizio test viene stampata a video una review delle impostazioni utente selezionate, in modo da verificare subito che ci sia tutto cio' che si vuole senza dover aprire il file e/o aspettare la fine del test.
e infine lato terminale ho usato un filo di colorazione del testo, perche' no, per migliorare la leggibilita' e la selezione della parte da postare (vedere screenshot). |
|
| Top |
|
 |
| toshirikudo |
Inviato: Mer Mar 03, 2010 12:54 am Oggetto: |
|
|

Registrato: 30/01/10 16:30 Età: 30 Messaggi: 386 Residenza: Cavasagra di Vedelago
|
ho portato alcune modifiche al codice:
- rimosso le colorazioni dell'output se lo script viene lanciato da cron
- aggiunti i ping ai server
- aggiunta opzione '-u' al comando wput per forzare la sovrascrittura se il file è già presente
- aggiunto test di download da rapidshare con utente premium con aria2c
- aggiunto aria2c alle dipedenze
Codice:
#!/bin/bash
####################################################
# TEST E4A K.I.S.S. FOR LINUX, BY SPARAYURJI #
# DIPENDENZE: sed,mtr,bwm-ng,wget,wput, aria2c #
# un grazie a r3lative per le dritte #
release=0.9c #######################################
PROFILO=4Mb/512Kb/256Kb # dati profilo della linea e4a, inserire i propri
####################################################
# DATO NECESSARIO PER MASCHERAMENTO IP PUBBLICI
IP_APPARATO_IPV4=94.47.109.33 # l'ipv4 dell'apparato e4a sul tetto (nb l'ipv6 per ora non e' necessario per il masking)
####################################################
# PREFERENZE PER I TRACE
MTR_IPV4=1 # 1=on, 0=off per abilitare/disabilitare il trace test su server ipv4
TRACE_URL_IPV4=maya.ngi.it # modificare a piacere
MTR_IPV6=1 # 1=on, 0=off per abiltare/disabilitare il trace test su su server ipv4 aggiuntivo, o server ipv6
TRACE_URL_IPV6=www.google.com # server ipv6 o a piacere
PING_PER_HOP=100 # modificare a piacere (100 = 100 secondi = 100 passaggi per hop)
ESEGUI_PING=1
NUMERO_PACCHETTI=10
####################################################
# PREFERENZE PER IL RILEVAMENTO BANDA OCCUPATA PRE TEST DL
BWM=1 # 1=on, 0=off per abiltare/disabilitare il rilevamento preliminare, che sarebbe pleonastico se la lan fosse in uso
NETCARD=eth0 # modificare se la scheda di rete connessa al router/gateway e' diversa da eth0
BWM_TIME=10 # durata rilevamento (10 = 5 secondi)
####################################################
# PREFERENZE PER I DOWNLOAD TEST
HTTP_DL_A=1 # 1=on, 0=off per abilitare/disabilitare il download test da http_a
HTTP_URL_A=http://debian.fastweb.it/debian/ls-lR.gz # a piacere
FTP_DL_A=1 # 1=on, 0=off per abilitare/disabilitare il dl da ftp_a
FTP_URL_A=ftp://debian.fastweb.it/debian/ls-lR.gz # a piacere
HTTP_DL_B=1 # 1=on, 0=off per abilitare/disabilitare il dl test da http_b
HTTP_URL_B=http://mi.mirror.garr.it/mirrors/debian/ls-lR.gz # a piacere
FTP_DL_B=1 # 1=on, 0=off per abilitare/disabilitare il dl test da ftp_b
FTP_URL_B=ftp://mi.mirror.garr.it/mirrors/debian/ls-lR.gz # a piacere
PARAMETRI_FTP=--no-passive-ftp # "--no-passive-ftp" per ftp attivo; vuoto per ftp passivo
####################################################
# PREFERENZE PER GLI UPLOAD TEST
UPLOAD_1=1 # 1=on, 0=off per abilitare/disabilitare il primo upload test
FTP_UL_URL=ftp.digiland.it # l'indirizzo ftp (rispettare il formato, senza "ftp://") a cui inviare il file di test
FTP_UL_USER=username # username ftp
FTP_UL_PWD=password # password ftp
UPLOAD_2=0 # 1=on, 0,off per abilitare/disabilitare il secondo upload test
FTP2_UL_URL=ftp.digiland.it # secondo indirizzo ftp (rispettare il formato, senza "ftp://") a cui inviare il file di test
FTP2_UL_USER=username # username ftp
FTP2_UL_PWD=password # password ftp
FTP_UL_SIZE=512K # dimensione del file fittizio da uploadare (es 256K, 768K, 1M, 2M ...etc)
####################################################
#PREFERENZE PER DOWNLOAD DA RAPIDSHARE
RAPIDSHARE=1 # 1=on, 0=off per abilitare/disabilitare il primo upload test
RAPID_USER=username # username
RAPID_PASS=password # password
RAPID_FILE=http://rapidshare.com/files/341571691/temp # File da scaricare
#FINE PREFERENZE
####################################################
# Se lo script viene eseguito da cron non serve abbellire l'output
case $TERM in
xterm*)
CRON=0
;;
*)
CRON=1
;;
esac
####################################################
if type sed > /dev/null 2>&1; then # inizio controllo errori/dipendenze/impostazioni
sedtag=
else sedtag=" sed"
fi
if [ $MTR_IPV4 -eq 1 ] ; then
dspmtra="- $PING_PER_HOP mtr su $TRACE_URL_IPV4"
echopmtra="-e"
if type mtr > /dev/null 2>&1; then
mtrtag=
else mtrtag=" mtr"
fi
else dspmtra=
echopmtra="-e -n"
fi
if [ $MTR_IPV6 -eq 1 ] ; then
dspmtrb="- $PING_PER_HOP mtr su $TRACE_URL_IPV6"
echopmtrb="-e"
if type mtr > /dev/null 2>&1; then
mtrtag=
else mtrtag=" mtr"
fi
else dspmtrb=
echopmtrb="-e -n"
fi
if [ $BWM -eq 1 ] ; then
dspbwm="- Controllo bandwidth eventualmente gia' in uso su $NETCARD"
echopbwm="-e"
if type bwm-ng > /dev/null 2>&1; then
bwmtag=
else bwmtag=" bwm-ng"
fi
else dspbwm=
echopbwm="-e -n"
fi
if [ $HTTP_DL_A -eq 1 ] ; then
dsphttpa="- Download di $HTTP_URL_A"
echopha="-e"
if type wget > /dev/null 2>&1; then
wgetag=
else wgetag=" wget"
fi
else dsphttpa=
echopha="-e -n"
fi
if [ $FTP_DL_A -eq 1 ] ; then
dspftpa="- Download di $FTP_URL_A"
echopfa="-e"
if type wget > /dev/null 2>&1; then
wgetag=
else wgetag=" wget"
fi
else dspftpa=
echopfa="-e -n"
fi
if [ $HTTP_DL_B -eq 1 ] ; then
dsphttpb="- Download di $HTTP_URL_B"
echophb="-e"
if type wget > /dev/null 2>&1; then
wgetag=
else wgetag=" wget"
fi
else dsphttpb=
echophb="-e -n"
fi
if [ $FTP_DL_B -eq 1 ] ; then
dspftpb="- Download di $FTP_URL_B"
echopfb="-e"
if type wget > /dev/null 2>&1; then
wgetag=
else wgetag=" wget"
fi
else dspftpb=
echopfb="-e -n"
fi
if [ $UPLOAD_1 -eq 1 ] ; then
dspula="- Upload di $FTP_UL_SIZE su $FTP_UL_URL"
echopua="-e"
if type wput > /dev/null 2>&1; then
wputag=
else wputag=" wput"
fi
else dspula=
echopua="-e -n"
fi
if [ $UPLOAD_2 -eq 1 ] ; then
dspulb="- Upload di $FTP_UL_SIZE su $FTP2_UL_URL"
echopub="-e"
if type wput > /dev/null 2>&1; then
wputag=
else wputag=" wput"
fi
else dspulb=
echopub="-e -n"
fi
if type mtr sed wget bwm-ng wget wput aria2c > /dev/null 2>&1; then
:
else clear
echo -e '\E[37;31m'"\033[1mERRORE, DIPENDENZE NON SODDISFATTE:\033[0m\033[1m$mtrtag$bwmtag$wputag$wgetag$sedtag\033[0m"
echo "" && tput sgr0 && exit 1
fi
e4aipnm=$(echo $IP_APPARATO_IPV4 | cut -d '.' -f1,2,3)
checkip=$(wget -O- http://checkip.dyndns.org/ 2>/dev/null | cut -d " " -f6 | cut -d "." -f1,2,3)
if ! echo $IP_APPARATO_IPV4 | grep -E '^([0-9]{1,3}\.){3}[0-9]{1,3}$' > /dev/null; then
clear && echo -e '\E[37;31m'"\033[1mERRORE, PARAMETRO [IP_APPARATO_IPV4] NON INSERITO CORRETTAMENTE. VERIFICARE:\033[0m\033[1m $IP_APPARATO_IPV4\033[0m"
echo "" && tput sgr0 && exit 1
else :
fi
if ! echo $checkip | grep "$e4aipnm" > /dev/null; then
clear && echo -e '\E[37;31m'"\033[1mERRORE, MANCATA CORRISPONDENZA TRA PARAMETRO [IP_APPARATO_IPV4] IMPOSTATO E IP PUBBLICO RILEVATO DA DYNDNS.ORG. VERIFICARE:\033[0m\033[1m $IP_APPARATO_IPV4\033[0m"
echo "" && tput sgr0 && exit 1
else :
fi
if [ $CRON -eq 0 ] ; then
clear
echo -e '\E[37;32m'"\033[1mTest E4a K.I.S.S. $release - In esecuzione con le seguenti impostazioni:\033[0m" && tput sgr0
echo ""
echo $echopmtra "\033[1m$dspmtra\033[0m"
echo $echopmtrb "\033[1m$dspmtrb\033[0m"
echo $echopbwm "\033[1m$dspbwm\033[0m"
echo $echopha "\033[1m$dsphttpa\033[0m"
echo $echopfa "\033[1m$dspftpa\033[0m"
echo $echophb "\033[1m$dsphttpb\033[0m"
echo $echopfb "\033[1m$dspftpb\033[0m"
echo $echopua "\033[1m$dspula\033[0m"
echo $echopub "\033[1m$dspulb\033[0m"
echo "" # fine controllo errori/dipendenze/impostazioni
fi
lanhn=$(echo $(hostname)) # variabili per mascheramento ip
e4aipln=$(echo $IP_APPARATO_IPV4 | cut -d '.' -f4)
e4aip2=$(expr $e4aipln + 1)
e4aip3=$(expr $e4aipln + 2)
e4aip4=$(expr $e4aipln + 3)
e4aip5=$(expr $e4aipln + 4)
e4aip6=$(expr $e4aipln + 5)
spaces_ipv4=$(expr 16 - $(expr length $IP_APPARATO_IPV4))
spaces_hn=$(expr 21 - $(expr length $lanhn))
spaces_st_ipv4=$(expr 4 + $(expr length $TRACE_URL_IPV4))
spaces_st_ipv6=$(expr 4 + $(expr length $TRACE_URL_IPV6))
sedexp1_ipv4=$(echo "s/$e4aipnm.($e4aipln|$e4aip2|$e4aip3|$e4aip4|$e4aip5|$e4aip6)[[:space:]]{1,$spaces_ipv4}/xxx.xxx.xxx.xxx /g")
sedexp1_ipv6=$(echo 2,3d)
sedexp2=$(echo "s/$lanhn[[:space:]]{1,$spaces_hn}/ /g")
sedexp3_ipv4=$(echo "s/([A-Za-z0-9\.]+ +[([])?(10\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}|172\.1[6-9]\.[0-9]{1,3}\.[0-9]{1,3}|172\.2[0-9]\.[0-9]{1,3}\.[0-9]{1,3}|172\.3[0-1]\.[0-9]{1,3}\.[0-9]{1,3}|192\.168\.[0-9]{1,3}\.[0-9]{1,3}|127\.0\.0\.1)[])]?/xxx.xxx.xxx.xxx /g")
sedexp4_ipv4=$(echo "s/HOST:[[:space:]]{1,$spaces_st_ipv4}/ mtr su $TRACE_URL_IPV4:/g")
sedexp4_ipv6=$(echo "s/HOST:[[:space:]]{1,$spaces_st_ipv6}/ mtr su $TRACE_URL_IPV6:/g")
if [ $CRON -eq 0 ] ; then
echo -e '\E[37;31m'"\033[1m[code]\033[0mtest e4a k.i.s.s. for linux - $release - by sparayurji $(date +%b%d) $(date +%R)" && tput sgr0 # intestazione
else
echo "[code]test e4a k.i.s.s. for linux - $release - by sparayurji $(date +%b%d) $(date +%R)" # intestazione
fi
echo "********* modded by ToshiRikudo *********" # intestazione
echo "----------------------------------------------------------------------------"
if [ $ESEGUI_PING -eq 1 ] ; then # inizio trace test ipv4
ping -c $NUMERO_PACCHETTI -q $TRACE_URL_IPV4
echo "----------------------------------------------------------------------------"
else :
fi
if [ $MTR_IPV4 -eq 1 ] ; then # inizio trace test ipv4
mtr -n -c $PING_PER_HOP -r $TRACE_URL_IPV4 | sed -r -e "$sedexp1_ipv4" -e "$sedexp2" -e "$sedexp3_ipv4" -e "$sedexp4_ipv4"
echo "----------------------------------------------------------------------------"
else :
fi
if [ $ESEGUI_PING -eq 1 ] ; then # inizio trace test ipv4
ping -c $NUMERO_PACCHETTI -q $TRACE_URL_IPV6
echo "----------------------------------------------------------------------------"
else :
fi
if [ $MTR_IPV6 -eq 1 ] ; then # inizio trace test ipv6, o ipv4 aggiuntivo
mtr -n -c $PING_PER_HOP -r $TRACE_URL_IPV6 | sed -r -e "$sedexp1_ipv6" -e "$sedexp2" -e "$sedexp4_ipv6"
echo "----------------------------------------------------------------------------"
else :
fi
if [ $BWM -eq 1 ] ; then # inizio rilevamento banda occupata
bpsrx=$(bwm-ng -I $NETCARD -A 2 -c $BWM_TIME -o csv 1 -T avg | tail -1 | cut -d ';' -f4 | cut -d '.' -f1)
bpstx=$(bwm-ng -I $NETCARD -A 2 -c $BWM_TIME -o csv 1 -T avg | tail -1 | cut -d ';' -f3 | cut -d '.' -f1)
rxpre=$(expr $bpsrx \/ 1024)
txpre=$(expr $bpstx \/ 1024)
echo " = $NETCARD <- $rxpre KB/s, $NETCARD -> $txpre KB/s"
else :
fi
httprep_a=$(echo "$HTTP_URL_A:" | sed -r -e "s/http:/ /g" | cut -d '/' -f3) # inizio donwload test da http_a
if [ $HTTP_DL_A -eq 1 ] ; then
kbps_ha=$(wget -O /dev/null 2>&1 $HTTP_URL_A | tail -2 | cut -d ' ' -f3 | cut -d '(' -f2)
echo " < $httprep_a http: $kbps_ha KB/s"
else :
fi
ftprep_a=$(echo "$FTP_URL_A:" | sed -r -e "s/ftp:/ /g" | cut -d '/' -f3) # inizio donwload test da ftp_a
if [ $FTP_DL_A -eq 1 ] ; then
kbps_fa=$(wget $PARAMETRI_FTP -O /dev/null 2>&1 $FTP_URL_A | tail -2 | cut -d ' ' -f3 | cut -d '(' -f2)
echo " < $ftprep_a ftp : $kbps_fa KB/s"
else :
fi
httprep_b=$(echo "$HTTP_URL_B:" | sed -r -e "s/http:/ /g" | cut -d '/' -f3) # inizio donwload test da http_b
if [ $HTTP_DL_B -eq 1 ] ; then
kbps_hb=$(wget -O /dev/null 2>&1 $HTTP_URL_B | tail -2 | cut -d ' ' -f3 | cut -d '(' -f2)
echo " < $httprep_b http: $kbps_hb KB/s"
else :
fi
ftprep_b=$(echo "$FTP_URL_B:" | sed -r -e "s/ftp:/ /g" | cut -d '/' -f3) # inizio donwload test da ftp_b
dlftp2char=$(expr length $FTP_URL_B)
if [ $FTP_DL_B -eq 1 ] ; then
kbps_fb=$(wget $PARAMETRI_FTP -O /dev/null 2>&1 $FTP_URL_B | tail -2 | cut -d ' ' -f3 | cut -d '(' -f2)
echo " < $ftprep_b ftp : $kbps_fb KB/s"
else :
fi
if [ $RAPIDSHARE -eq 1 ] ; then
aria2c --http-user=$RAPID_USER --http-passwd=$RAPID_PASS $RAPID_FILE -d /tmp -j 2 -s 4 -q --allow-overwrite=true --log=/tmp/log
bps_rapid=$(cat /tmp/log | grep ServerStat | cut -d ':' -f7 | cut -d ' ' -f1)
echo " < Rapidshare : $bps_rapid"
else :
fi
upftprep=$(echo "$FTP_UL_URL" | cut -d '/' -f2) # inizio upload test1
if [ $UPLOAD_1 -eq 1 ] ; then
dd > /dev/null 2>&1 if=/dev/urandom of=$HOME/ul_e4a_kiss bs=$FTP_UL_SIZE count=1
bps_up=$(wput -u -nc $HOME/ul_e4a_kiss ftp://$FTP_UL_USER:$FTP_UL_PWD@$FTP_UL_URL | tail -1 | cut -d ' ' -f8 | cut -d '.' -f1)
echo " > $FTP_UL_SIZE su $upftprep: $bps_up KB/s"
else :
fi
upftp2rep=$(echo "$FTP2_UL_URL" | cut -d '/' -f2) # inizio upload test2
if [ $UPLOAD_2 -eq 1 ] ; then
[ ! -e /$HOME/ul_e4a_kiss ] && dd > /dev/null 2>&1 if=/dev/urandom of=$HOME/ul_e4a_kiss bs=$FTP_UL_SIZE count=1
bps_up2=$(wput -u -nc $HOME/ul_e4a_kiss ftp://$FTP2_UL_USER:$FTP2_UL_PWD@$FTP2_UL_URL | tail -1 | cut -d ' ' -f8 | cut -d '.' -f1 | tail -1l)
echo " > $FTP_UL_SIZE su $upftp2rep: $bps_up2 KB/s"
else :
fi
rm -f $HOME/ul_e4a_kiss
echo -n " ~ $PROFILO"
if [ $CRON -eq 0 ] ; then
echo -e "\E[37;31m\033[1m[/code]" && tput sgr0
else
echo "[/code]"
fi
|
|
| Top |
|
 |
| r3lative |
Inviato: Mer Mar 03, 2010 2:09 am Oggetto: |
|
|
 BANNATO
Registrato: 03/05/07 00:27
Messaggi: 7340 Residenza: Saccolongo - PD - ITALY - terzo pianeta a sinistra
|
io starei lontano dalla rete rapidshare come dalla peste ... imho ...
già bastano i p2p ecc, usare rapidshare per i test mi sembra masochistico ... _________________ “Mai argomentare con un idiota;
ti fa scendere al suo livello e ti batte per esperienza ”
r3lative blog |
|
| Top |
|
 |
| toshirikudo |
Inviato: Ven Mar 05, 2010 12:27 am Oggetto: |
|
|

Registrato: 30/01/10 16:30 Età: 30 Messaggi: 386 Residenza: Cavasagra di Vedelago
|
| Ho inserito un download di un file da Rapidshare solamente perchè con l'account premium raggiungevo velocità superiori rispetto ai server debian. |
|
| Top |
|
 |
|
|
|
|
Non puoi inserire nuovi argomenti Non puoi rispondere a nessun argomento Non puoi modificare i tuoi messaggi Non puoi cancellare i tuoi messaggi Non puoi votare nei sondaggi
|
|
|
|