venerdì 8 febbraio 2013

[ARDUINO] connettere Bluetooth Shield all'Arduino

In questo post vi mostrerò come testare due shield per l'arduino Bluetooth (BT) Module e Arduino Mega 2560. Fondamentalmente si sarà in grado di rilevare il modulo BT collegato al Arduino Mega 2560 da qualsiasi altro dispositivo BT abilitato. Il collegamento del circuito funziona con qualsiasi scheda Arduino.
     
Questo è il modulo Bluetooth:
  
Pin :
1) RST : resetta il modulo Bluetooth
2) VCC : Questo modulo viene alimentato a 5V DC.
3) GND : Terra.
4) TXD : trasmissione dati.
5) RXD : ricezione dati.
 
La connessione tra il modulo Bluettoth e l'Arduino Mega 2560 è molto semplice. 
Dobbiamo fare una connessione incrociata tra Arduino e modulo BT. Ciò significa che il pin TX del modulo andrà collegato al pin RX dell'Arduino e viceversa. Quindi la connessione sarà simile a questa:
Picture
SCHEMA DI COLLEGAMENTO
  Qui sotto si può vedere l'effettiva connessione del modulo con l'Arduino.

martedì 5 febbraio 2013

[CISCO] comando "write memory" deprecato

Negli apparati Cisco non è consigliabile utilizzare il comando "write memory".

Per salvare la configurazione procedere come segue:

copy running-config startup-config
Destination filename [startup-config]?startup-config

Building configuration...
[OK]

[CISCO] creare scorciatoie/alias su un apparato Cisco

Capita molte volte di eseguire uno stesso comando, magari anche lungo e articolato richiando di sbagliare ogni volta.
Cisco mette a disposizione (come succede già in Linux) la possibilità di creare delle scorciatoie.

ad esempio:

comando da inserire -> telnet 192.168.0.1 2001

e

comando da inserire -> clear line 1

Per semplificare il tutto basterà aggiungere alla configurazione questi due comandi:

conf t

alias exec aup telnet 192.168.0.1 2001
alias exec adown clear line 1
exit
exit


Richiamando il comando "aup" l'apparato interpreterà la richiesta ed eseguirà il comando specificato nella stessa linea, nel nostro caso "telnet 192.168.0.1 2001".

lunedì 4 febbraio 2013

[CISCO] Espressioni regolari


Concetti generali sulle espressioni regolari

Una espressione regolare (regular expression, regexp, regex) è una sequenza di simboli che identifica un insieme di stringhe. Programmi diversi supportano notazioni diverse per esprimere le stesse espressioni regolari, pertanto non esiste una sintassi "universale".Le espressioni regolari sono generalmente usate per definire linguaggi regolari, tuttavia permettono di definire anche linguaggi non regolari. I linguaggi regolari sono i linguaggi generati da grammatiche di tipo 3 (nella gerarchia di Chomsky) e riconosciuti da automi a stati finiti.

Le regex in Cisco vengono trattate come segue:


Qui di seguito alcuni esempi:

Per verificare esattamente un indirizzo IP utilizzare la barra rovesciata (\) prima del punto (.) Per rimuovere il significato speciale del punto (.) Carattere e il carattere di sottolineatura (_) per controllare lo spazio prima / dopo l'indirizzo IP. Ad esempio, per trovare l'indirizzo IP 10.0.0.1 nella configurazione in esecuzione, utilizzare il comando

show run | i _10\.0\.0\.1_

e non il comando (che visualizzerà 10.0.0.1, 110.0.0.1, 10.1.1.11, …)

show run | i 10.0.0.1

Per vedere le rotte VRF:

sh ip route vrf *

e eliminare le righe:

Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, * - candidate default, U - per-user static route
o - ODR, P - periodic downloaded static route
Gateway of last resort is not set


utilizzare la regex (valido quando la linea contiene 1 numero 1 punto oppure la parola "Routing") :

sh ip route vrf * | i (([0-9]\.)|Routing)

Per visualizzare le interfacce ‘administratively down’ nel module #1 (questo vale quando le righe iniziano con il carattere ‘F’ seguito da ‘t1/’ e conterrà la stringa ‘administr’:

sh ip inter brie | i ^F.*t1/.*administr

Per vedere le entry CDP:

sh cdp entry *

e per visualizzare solo il nome del device e l'indirizzo IP (valido se le righe iniziano con la stringa ‘Device’ oppure continene la stringa ‘IP address’:

sh cdp entry * | i (^Device|IP address)

Per cercare un mac address che inizia con ‘001f':

sh mac-address-table | i ^001f\.

oppure per cercare un mac address che finisce con ’000a':

sh mac-address-table | i (.*)\.(.*)\.000a

Qui di seguito alcuni esempi di Regex applicabili al comando ‘show’:

 show run | i _10\.0\.0\.1_  sh ip inter brie | i ^F.*t1/.*administr  sh mac-address-table | i ^c800\.  sh mac-address-table | i (.*)\.(.*)\.0000

[CISCO] Accesso in reverse telnet

Di seguito vi mostrerò come accedere in reverse telnet ad un apparato di rete (ad esempio uno switch Cisco 2960) da un Cisco 2821 (router GetVPN).


1) Identificare la porta AUX del Cisco 2821



2) Collegare un cavo rollover tra la porta AUX e la porta CONSOLE dell'apparato che si desidera raggiungere




3) Salire in CONSOLE sul Cisco 2821 utilizzando un software client (es. Putty )


Press RETURN to get started
router>enable
router#


4) Il router da me utilizzato è senza configurazione ed è quindi necessario inserire i seguenti comandi per poter far funzionare correttamente la porta AUX


router#config t
router(config)#line aux 0
router(config-line)#transport input all
router(config-line)#speed 9600
router(config-line)#exit
router(config-line)#exit

router#config t
router(config)#int loopback 0
router(config-if)#ip address [INDIRIZZO_IP] [SUBNET_MASK]
router(config-if)#no shut
router(config-if)#exit
router(config-if)#exit



5) Devi poi individuare il "numero" della linea dell'aux per poterci salire in telnet con il comando "show line"


Router#show line
   Tty Line Typ     Tx/Rx    A Modem  Roty AccO AccI  Uses  Noise Overruns  Int
*     0    0 CTY              -    -      -    -    -     2      0    0/0      -
      1    1 AUX   9600/9600  -    -      -    -    -     2      1    0/0      -
     66   66 TTY   9600/9600  -    -      -    -    -     0      0    0/0      -
    514  514 VTY              -    -      -    -    -     0      0    0/0      -
    515  515 VTY              -    -      -    -    -     0      0    0/0      -
    516  516 VTY              -    -      -    -    -     0      0    0/0      -
    517  517 VTY              -    -      -    -    -     0      0    0/0      -
    518  518 VTY              -    -      -    -    -     0      0    0/0      -

Line(s) not in async mode -or- with no hardware support: 
2-65, 67-513


4) A questo punto basterà digitare "telnet [INDIRIZZO_IP] 200[N]" dove [N] è il numero della linea. Nel nostro esempio [N] è uguale a 1.


Router#telnet 192.168.0.2 2001
Trying 192.168.0.2, 2001 ... Open

User Access Verification
Username: [nome-utente-locale]
Password: [password-utente-locale]

Switch#

6) A questo punto siamo in console sull'apparato Switch e potremo inserire qualsiasi comando
7) Per disconnettersi da Switch basterà premere la sequenza CTRL+SHIFT+6+x e scrivere sulla CLI di Router "disconnect"

Switch#
Router#disconnect
Closing connection to 192.168.0.2 [confirm]
Router#