mainSlogopaceclick Blog  · informatica · elettronica · astronomia..

Usare un RaspberryPi come server DNS locale per tradurre indirizzi locali in IP locali tramite DnsMasq

Il server DNS consente di convertire la stringa dell'URL cercato sul browser, nell'indirizzo IP del server remoto.

Di norma ogni ISP ha i propri server DNS autoritativi (che vengono interpellati per ogni richiesta dal router), molte volte tuttavia si opta per l'uso di quelli di Google o degli OpenDNS, andando a modificare manualmente il proprio Sistema Operativo o il router stesso.
E' infatti risaputo che i server DNS di Google siano molto più veloci nelle risposte, e abbiano molti più indirizzi in cache rispetto a quelli degli ISP sparsi per il mondo.

undefined

Un server DNS locale può servire a due utilizzi:

  1. velocizzare la navigazione, tenendo in cache gli indirizzi che vengono maggiormente richiesti dalla rete casalinga (o aziendale), e inoltrando la richiesta verso un server DNS esterno solo in caso di necessità (esempio un indirizzo non i cache)
  2. consentire la traduzione di DOMINI locali in IP locali, funzione interessantissima in ambito aziendale ma anche casalingo

Consideriamo per esempio l'uso di un NAS locale, sull'indirizzo 192.168.1.8:

ogni volta che ci dovremmo connettere, avremmo da inserire tale (scomodo) IP.

Avendo un server DNS autoritativo locale:

potremmo invece decidere di assegnare un NOME A DOMINIO a tale IP, come ad esempio nas.myhome, e fare si che venga risolto sull'indirizzo IP del NAS stesso.

In questo modo nel browser (quando siamo in rete locale, ma anche tramite VPN) non ci resterà che digitare nas.myhome, come se fosse un normalissimo sito web pubblico.

In aggiunta, usando questo metodo, sarà possibile anche incrementare la sicurezza, andando ad impostare una blacklist globale sui nomi a dominio che non vogliamo vengano risolti.

Ovviamente perché tutto funzioni dobbiamo fare in modo che TUTTE le richieste DNS locali vengano risolte dal nostro server DNS autoritativo locale, e che questo non vada mai offline, per evitare impossibilità di risolvere indirizzi.

Una comoda soluzione a basso costo può essere l'uso di un RaspberryPi, vediamo come configurarlo.

Mini guida per il setup di RaspberryPi

Preparare il Raspberry con una distro Debian come Raspbian, e connettersi tramite SSH (o aprire il terminale se connessi con tastiera e schermo).
Per connettersi tramite SSH usare Putty (su Windows) o il comando (da Linux):

ssh pi@192.168.x.x

dove al posto di x dovrete inserire il vero ip del raspberry; la password di default di raspbian per l'utente 'pi' è 'raspberry'.

Una volta connessi, eseguite un update dei packages con

sudo apt-get update

Adesso assegnate un IP statico al raspberry:

sudo nano /etc/network/interfaces

il file deve sembrare così

auto lo

iface lo inet loopback

allow-hotplug wlan0
iface wlan0 inet manual
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf

auto wlan0
iface wlan0 inet static
address 192.168.1.190
gateway 192.168.1.1
netmask 255.255.255.0

auto eth0
iface eth0 inet static
address 192.168.1.190
gateway 192.168.1.1
netmask 255.255.255.0

(ovviamente al posto di .1.190 e .1.1 inserite gli indirizzi che vi competono)

salvare con Ctrl+X, e premendo Y, confermando con Invio, 
poi riavviare con

sudo reboot

e controllare che l'indirizzo sia corretto con il comando

ifconfig 

 

Configurare il server DNS Locale

Installare DNSMASQ:

sudo apt-get install -y dnsmasq

adesso il servizio DNS sarà già attivo, andiamo ad interromperlo per poterne modificare la configurazione

sudo service dnsmasq stop

configuriamo adesso il server DNS con il comando

sudo nano /etc/dnsmasq.conf

si aprirà l'editor di testo sul terminale, 
il file di configurazione mostrato sarà tutto commentato (con '#' all'inizio di ogni frase),
potete anche lasciare tutto intatto per consultazioni future, l'importante è inserire all'inizio le stringhe di configurazione che seguono:

# DOMAIN CONFIG
domain=raspberry.myhome
resolv-file=/etc/resolv.dnsmasq
min-port=4096

# FORWARDING DNS SERVERS
server=8.8.8.8
server=8.8.4.4
server=208.67.222.222
server=208.67.220.220

# LOCAL CACHE SIZE
cache-size=10000

# LOCAL ADDRESSLIST
address=/nas.myhome/192.168.1.8

# BLACKLIST
address=/double-click.net/127.0.0.1

# qui di seguito tutto il file originale..

NOTE

  • i 4 server di forwarding sono rispettivamente 2 Google e 2 OpenDns
  • il dominio .myhome può essere cambiato a piacere, ma NON deve essere un dominio usato pubblicamente (esempio .net), evitare anche il famoso .local
  • potete inserire nella Local-AddressList, tutti gli indirizzi locali che volete risolvere in IP (locali o anche pubblici)
    -ovviamente è anche possibile eseguire override di indirizzi comuni (DNS Spoofing)
    -nel mio caso ho inserito la risoluzione dell'IP del mio NAS su un dominio personalizzato (.myhome)
    -potete aggiungere una nuova riga per ogni altra mappatura
  • tutti i domini inseriti nella blacklist non risulteranno più raggiungibili dalla rete locale (perchè mappati sul loopback)

salvare con Ctrl+X, e premendo Y, confermando con Invio.

Riavviare il servizio dnsmasq

service dnsmasq start

NOTA: DnsMasq è in grado di fungere anche da server DHCP, ma nel nostro caso lo useremo solamente come server DNS.

Adesso il nostro server DNS locale è pronto per poter essere usato

Per poter usare il nostro server DNS locale, andiamo sul PC o sul router nella sezione di configurazione DNS, ed inseriamo come server DNS primario l'indirizzo IP statico precedentemente assegnato al nostro Raspberry.

E' buona norma inserire anche un server DNS secondario, usato in caso di malfunzionamento o irraggiungibilità del nostro server DNS locale, possiamo ad esempio inserire quello di Google (secondario: 8.8.4.4).

Facciamo un test da un computer in LAN con i comandi:

nslookup google.it
nslookup nas.myhome

la risposta sarà corretta se proveniente dal server DNS locale, ovvero del tipo:

Server: 192.168.1.190
Non-authoritative answer:
Name: google.it
Address: 216.58.205.67

oppure

Server: 192.168.1.190
Non-authoritative answer:
Name: nas.myhome
Address: 192.168.1.8

in ogni caso avendo impostato un DNS secondario, in caso di disconnessione del raspberry, sarà comunque possibile navigare tranquillamente.

Indirizzo IP pubblico: cosa è, come individuarlo da terminale o da prompt, e come funziona il DDNS per raggiungere un dispositivo dall'esterno

Un computer o un qualsiasi dispositivo, quando connesso ad una rete (LAN), viene identificato tramite un indirizzo IP assegnato dal router.

L'indirizzo, di solito nella forma 192.168.X.Y viene rilasciato dal DHCP del router per identificare i vari dispositivi ad esso connessi.

Tuttavia essendo il router stesso connesso alla rete internet (WAN), e fungendo da gateway per l'instradamento delle richieste locali verso l'esterno (NAT), anch'esso avrà un indirizzo IP rilasciato dal proprio gestore di telefonia (ISP).

undefined

Questo indirizzo IP viene comunemente chiamato IP Pubblico (o External IP), perché identifica il primo dispositivo connesso alla rete locale (quindi il primo da contattare per raggiungere la propria LAN dall'esterno).

A seconda dei gestori, tale IP può essere in forma statica o dinamica, ovvero può essere fisso ad ogni connessione del router, o cambiare.
In genere gli ISP rilasciano IP pubblici dinamici, per evitare identificazioni degli utenti che potrebbero portare ad attacchi.

In questo modo, ogni volta che accendiamo il router, esso richiederà un nuovo IP pubblico al gestore (che come detto sarà ogni volta diverso).

Come identificare facilmente l'IP pubblico?

1. tramite router, nella pagina di status principale vedremo tutte le impostazioni correnti, compreso l'IP pubblico del provider

2. tramite browser, attraverso uno dei tanti siti web appositi, come ad esempio: whatismyipaddress.com

3. tramite bash linux, con il comando:

 curl ifconfig.me

che mi sembra il più facile da ricordare, in alternativa comunque esistono anche altri (in ogni caso avremo bisogno di curl installato)

 curl ipecho.net/plain ; echo
 curl -s checkip.dyndns.org|sed -e 's/.*Current IP Address: //' -e 's/<.*$//'

4. tramite prompt di windows, con il comando:

 nslookup myip.opendns.com. resolver1.opendns.com

oppure tramite powershell:

 Invoke-WebRequest ifconfig.me/ip


A cosa mi serve conoscere il mio IP pubblico

Può servire nei casi in cui abbiamo bisogno di raggiungere un dispositivo connesso alla nostra LAN (esempio: a casa) dall'esterno (esempio: da lavoro).

Per fare questo bisognerà impostare nel router un port-forwarding, ovvero 'aprire' una determinata porta sull'IP interno del dispositivo.

In tal modo basterà digitare (da qualsiasi parte del mondo), IPPubblico:PortaAperta per inoltrare la richiesta di connessione attraverso il nostro router, verso il dispositivo locale.

Dynamic DNS come funziona

Poichè come detto prima, l'IP pubblico nella quasi totalità delle volte cambia ad ogni accensione del router, come faccio a sapere ogni volta che IP è stato assegnato se sono fuori casa?

Esistono dei servizi di DDNS, ovvero dynamic DNS, che consentono di ovviare a tale problema.
Consentono inoltre di evitare di doversi ricordare l'indirizzo IP stesso (una scomoda sequenza di numeri), in favore di una parola a piacere.

Ce ne sono diversi, come ad esempio noip.com (che di solito è supportato dalla quasi totalità dei router; in ogni caso prima di scegliere un servizio in favore di un altro, verificate se supportato dal vostro router).
Dopo essersi registrati al sito, occorrerà scegliere un indirizzo DNS personalizzato (ovvero un nome a dominio usato per reindirizzarvi al vostro IP).
Esempio: provaaccesso.noip.com

A questo punto basterà configurare nella apposita sezione del router questo DDNS.
Il router stesso provvederà ad aggiornare il DDNS ad ogni cambio di IP Pubblico!

In questo modo, da qualsiasi parte del mondo voi siate, potrete accedere alla vostra rete domestica (LAN) semplicemente digitando:

provaaccesso.noip.com:PortaAperta

dove PortaAperta è la porta precedentemente aperta sul router, con destinazione l'IP del dispositivo che vogliamo raggiungere

 

ATTENZIONE ALLA SICUREZZA:

come tutti sappiamo esporre i dispositivi alla rete senza alcun firewall non è mai consigliabile.
I router di solito applicano il firewall di default proprio per evitare che qualcuno acceda ai vostri dispositivi locali dall'esterno.

Tuttavia molte, moltissime volte gli utenti non cambiano la password di accesso al router stesso, rendendo disponibile ad un eventuale attaccante l'accesso a tutte le impostazioni di rete dall'esterno.
Per questo motivo, se configurate un DDNS, assicuratevi che la vostra rete sia ben protetta (argomento per il quale non basterebbe un solo post per descrivere tutti i passaggi).

Assicuratevi che il router abbia una password sicura, che abbia il firewall attivo, e, magari, che sia bloccato l'accesso alle impostazioni di rete dall'esterno (dalla WAN).

 

Phishing portato a livelli estremi sfruttando Punycode: come funziona, come prevenire ed essere sicuri dei siti web aperti tramite SSL

Punycode è un sistema di codifica che serve a rappresentare una sequenza di caratteri unicode tramite una sequenza di caratteri ASCII, per rendere possibile l'uso di tali sequenze nei nomi di dominio, senza dover modificare infrastrutture e standard esistenti.

In questo modo si possono gestire nomi di dominio internazionalizzati (IDNA) aggiungendo all'inizio della stringa punycode i caratteri 'xn--'.

Ad esempio, inserendo come indirizzo xn--google.com, vedremo il browser mostrare la stringa convertita in caratteri cinesi:

undefined

La traduzione di sequenze Punycode nella codifica originaria è a carico dello user agent (applicazione installata sul computer dell'utente che si connette al server) nel browser .

Il problema è che come tutti i nomi a dominio internet registrati, è possibile creare delle sequenze punycode ad-hoc per mostrare all'utente una stringa convertita totalmente a piacere.

Ad esempio, se inseriamo nel browser la stringa (procedete solo a vostro rischio e pericolo) punycode "xn--80ak6aa92e.com", la vedremo istantaneamente venire convertita in "apple.com".

Ovviamente il sito aperto non sarà quello ufficiale Apple, ma in realtà sarà sempre il sito "xn--80ak6aa92e.com", solo che il nostro browser ci visualizzerà il testo transcodificato in ASCII.

In breve il browser viene tratto in inganno, e con lui l'utente, vediamo l'esempio:

se inseriamo:

undefined

e premiamo invio, avremo in risposta:

undefined

da notare la presenza di un certificato SSL (DV) sul sito fasullo, che crea un FALSO senso di sicurezza

 

LA DIFFERENZA CON QUELLO VERO

undefined

in questo caso il certificato SSL (OV o EV) certifica l'effettiva corrispondenza dell'azienda.

 

Il fenomeno del 'phishing' (tipo di truffa effettuata su internet, specialmente a mezzo e-mail) cerca sempre nuove strategie per trarre in inganno gli utenti, spingendoli a cliccare su link che SEMBRANO essere affidabili ma che in realtà REINDIRIZZANO verso pagine web spesso dannose.

Si tratta di attacchi di social-engineering nei quali un malintenzionato cerca di ingannare la vittima convincendola a fornire informazioni personali, dati finanziari o codici di accesso, fingendosi un ente affidabile in una comunicazione digitale.

PRIMA REGOLA: PREVENZIONE

Quando ricevete email di dubbia provenienza, diffidate dal cliccare sui link proposti, specialmente se legati in qualche modo ad istituti bancari o di credito.
Fare specialmente attenzione all'indirizzo di provenienza, e prima di cliccare su un link, controllare quale sia la sua effettiva destinazione.

Esempio:

un link visualizzato come "apple.com", potrebbe in realtà essere destinato al precedente "xn--80ak6aa92e.com" (questo potrebbe derivare da una formattazione HTML costruita apposta per l'occasione)

in questo caso tuttavia, basterà posizionarsi con il mouse sopra al link e controllare il vero collegamento leggendo il popup che appare (di solito) in basso a sinistra del programma di posta

 

SECONDA REGOLA: CONTROLLO

Una volta cliccato su un link, come fare a sapere che il sito aperto è effettivamente quello sicuro?

L'unica arma di difesa in questo caso è il certificato SSL, che può essere di 3 tipi:

  • DV Domain Validation: garantiscono una connessione cifrata con il server, ma non garantiscono sulla corrispondenza aziendale al nome visualizzato.
  • OV Organization Validation & EV Extended Validation: oltre alla cifratura con il server, garantiscono verifica sull'effettività dell'azienda.

 riguardando le immagini precedenti potrete notare la differenza.

 

Facebook: disattivare i suggerimenti per i tag foto

Facebook ha già da tempo introdotto il riconoscimento facciale delle fotografie, questo per facilitare l'attività di TAG agli utenti.

Questo vuol dire che quando aggiungete una foto con amici/parenti/ecc.. il sistema riconosce direttamente nella foto i loro volti e vi suggerisce i tag da inserire.

Ovviamente la funzione è a doppio senso, in quanto anche i vostri conoscenti potranno taggarvi tramite suggerimento.

undefined

Se volete disattivare questa funzione, e quindi impedire agli script di Facebook di analizzare le foto altrui alla ricerca del vostro volto, potete farlo così:

  1. su Facebook, in alto, accanto al simbolo del lucchetto, c'è una freccettina rivolta verso il basso, cliccateci ed andate su 'Impostazioni'
  2. nella nuova pagina che si apre, andate su 'Diario e aggiunta tag' dal pannello di sinistra
  3. andare nella sezione 'Come faccio a gestire i tag aggiunti dalle persone e i suggerimenti di tag'
  4. adesso cliccate su 'Chi vede i suggerimenti dei tag quando vengono caricate foto in cui sembri essere presente?'
  5. nel menu che si apre potrete scegliere la vostra opzione preferita.

 undefined

 

Una volta che avrete disattivato i suggerimenti dei tag, Facebook non suggerirà più ai vostri amici di taggarvi quando caricano una foto con voi presenti.

Anche se ovviamente gli amici potranno taggarvi manualmente, anche se esiste la disattivazione di questa funzione, sempre sul pannello impostazioni.

 

Come rimuovere il contrassegno di partizione attiva in sistemi Windows

Se vi siete trovati nella condizione di gestire i dischi e le partizioni in un sistema Windows (XP-->10), avrete sicuramente usato il tool di sistema 'Gestione Disco'.

undefined

In particolare, quando creiamo o modifichiamo partizioni di sistema (quelle dove è presente un sistema operativo), abbiamo la necessità di contrassegnarle come 'attive'.
Questa operazione non è difficile, basta cliccare con il destro sulla partizione e andare su 'Contrassegna come attiva'.

Si nota subito però che non esiste un comando tipo 'rimuovi contrassegno attivo'.

Come fare per rimuovere un contrassegno (active mark in inglese)?

1.
Aprire il prompt dei comandi come amministratore.
(Start>Esegui>cmd su 7 | click destro su logo windows su 8.1/10)

2. Dare il comando

diskpart

3. Si aprirà il tool, eseguire

list disksf

per visualizzare la lista dei dischi,

select disk NUMERO

per aprire un disco (vedi nota in fondo),

list partition

per visualizzare la lista delle partizioni del disco scelto,

select partition NUMERO

per aprire la gestione della partizione scelta

4. Infine eseguire

inactive

per contrassegnarla come 'non attiva'.

Se a questo punto controllate sul tool 'gestione disco' il mark 'attivo' sarà rimosso dagli attributi della partizione.

 

NOTA
Al momento della selezione disco/partizioni potreste essere in difficoltà perché non trovate i nomi delle partizioni.
Per capire su quale partizione eseguire la procedura, controllate il numero disco e il numero partizione (confrontando anche le dimensioni di questi) dal tool 'gestione disco' (i numeri corrispondono anche sul tool da cmd).

Come ripristinare le schede di rete (funzionamento e visualizzazione) in Windows 8 e 10

Risolvere problemi di connessione

Nel caso ci siano problemi con la connessione, con i messaggi di 'connettività limitata' o con il cattivo instradamento di richieste TCP, è possibile fare ricorso ad un ripristino delle funzionalità di rete di Windows.

1

Aprire un prompt dei comandi come amministratore (su Windows 8/10) basta fare click destro sul logo Windows in basso a sinistra per trovarlo.

2

Eseguite uno o più di questi comandi per ripristinare la corrispettiva funzione:

Firewall - ripristina la Advanced Security policy del firewall con quella originale

netsh advfirewall reset 

Winsock - ripristina e pulisce il catalogo Winsock (libreria usata dal protocollo TCP) [richiede riavvio]

netsh winsock reset

BranchCache - ripristina il servizio, ne cancella la cache e resetta le impostazioni alle originali

netsh branchcache reset

IPv4 - resetta i componenti che gestiscono il protocollo TCP/IP

netsh int ip reset

IPv6

netsh int ipv6 reset 

 3

 Nel caso del reset Winsock, dopo il riavvio, digitare

netsh int ip reset c:\resetlog.txt

 

Windows network adapter restorer

Nel caso la scheda di rete non voglia collegarsi ad internet, la prima cosa da fare è controllare se i driver sono correttamente installati.

Che fare quando i driver risultano all'ultima versione (e senza problemi riscontrati da Windows) ma nelle 'impostazioni scheda' (da pannello di controllo>centro connessioni di rete e condivisione) non appaiono schede di rete? 

(a me è successo dopo l'aggiornamento a Windows 10)

undefined

La prima cosa da provare a fare è disinstallare la periferica dal computer, al riavvio il sistema reinstallerà i driver automaticamente (o chiederà la cartella da cui installarli, in questo caso inserite il disco originale del sistema o cercateli su internet da un altro pc).

Nel caso il pannello impostazioni scheda non si sia ripristinato (e conseguentemente impedisca il corretto funzionamento delle connessioni del pc), procedere come di seguito.

LA PROCEDURA E' ABBASTANZA RISCHIOSA, MA SEMBRA UNA DELLE POCHE CHE SIANO IN GRADO DI RIPRISTINARE IL CENTRO CONNESSIONI. PROSEGUIRE A PROPRIO RISCHIO.

1

Aprire Regedit cliccando con il tasto destro sul logo di Windows (in basso a sinistra), andando su esegui e digitando

regedit

2

Dirigersi sul percorso

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Network\Connections

e aprire quest'ultima cartella cliccandovi una volta sopra

3

Sulla parte destra troverete una chiave chiamata

ClassManagers

4

Cliccatevi con il destro ed eliminatela

5

Riavviate il PC

[NOTA]

NEL CASO LA PROCEDURA NON FUNZIONASSE (O IL SISTEMA NON RIPRISTINASSE AUTOMATICAMENTE LA CHIAVE), ESEGUITE QUESTO FILE PER RIPRISTINARLA MANUALMENTE CON LA VERSIONE CORRETTA E FUNZIONANTE:

1 - Scaricate questo file ed estraete lo .zip  [AUTOFIX]

2 - Click destro sul file .reg all'interno e andate su 'Unione'

3 - Riavviate il pc

 

A questo punto il centro connessioni di rete e condivisione (in particolare le 'impostazioni scheda') dovrebbe aver ricominciato a funzionare e a far dialogare correttamente i driver delle schede con il sistema operativo.

undefined

Non vi resta che connettervi con il vostro metodo preferito.

 

Curl: i comandi più usati e più pratici del potente strumento di networking open source

Cosa è cUrl

cUrl è un linguaggio di programmazione a oggetti open source, utilissimo nell'ambito di applicazioni web dove è richiesta una forte intercompatibilità tra protocolli e documenti.

undefined

In particolare evita allo sviluppatore di dover utilizzare più linguaggi di programmazione, rendendo disponibile in un unico framework una serie funzioni combinate tra linguaggi di markup (HTML o JS) e computazionali (Java, C#, C++...).

undefined

cUrl consiste in un package e mette a disposizione tool e command line per operare sul NET usando sintassi URL.
Supporta molti protocolli, come Gopher, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, DICT, FILE, FTP, FTPS, Gopher, POP3, POP3S, RTMP, RTSP, SCP, SFTP, SMTP, SMTPS, Telnet e TFTP.

Il sito ufficiale http://curl.haxx.se/ dove è possibile scaricare i pacchetti.
Inutile dire che gira su praticamente qualsiasi piattaforma.

I comandi da sapere

  1. Scaricare un file

    $ curl http://www.spaceclick.com
    per salvare,
    $ curl http://www.spaceclick.com > sc-com.html
  2. Scaricare un file solo se è stato modificato prima/dopo una certa data

    dopo la data,
    $ curl -z 20-Dec-14 http://www.spaceclick.com/aprettyfile.html
    prima della data,
    $ curl -z -20-Dec-14 http://www.spaceclick.com/aprettyfile.html
  3. Scaricare file tramite FTP

    $ curl -u ftpuser:ftppass -O ftp://ftpserver/public/abcd.php
    per scaricare una cartella,
    $ curl -u ftpuser:ftppass -O ftp://ftpserver/public/
  4. Ripristinare download interrotti

    per interrompere un download di grandi dimensioni si può usare il Ctrl+C,
    poi, per riprendere,
    $ curl -C - -O http://www.spaceclick.com/bigfile.ext
  5. Salvare l'output in un file

    $ curl -o aprettyfileNAME.html http://www.spaceclick.com/aprettyfile.html
    $ curl -O http://www.spaceclick.com/aprettyfile.html
    con l'opzione -O il nome sarà lo stesso dell'origine, con -o lo potremmo decidere noi
  6. Richiedere più file in contemporanea

    $ curl -O URL1 -O URL2
  7. Limitare la velocità di scaricamento

    $ curl --limit-rate 1000B -O http://www.spaceclick.com/bigfile.ext
    in questo caso limitato a 1000 Bytes/s
  8. Scaricare una serie di file in base ad un pattern di caratteri

    $ curl   ftp://ftp.spaceclick.com/files/[a-z]/
  9. Seguire rotte HTTP tramite il loro response

    $ curl http://www.spaceclick.com
    è possibile forzare a seguire i redirect con l'opzione -L,
    $ curl -L http://www.spaceclick.com
  10. Autenticarsi tramite HTTP (base auth)

    $ curl -u username:password URL
  11. Caricare file su un server FTP

    $ curl -u ftpuser:ftppass -T filename.txt ftp://ftp.server.com
    per caricare file multipli,
    $ curl -u ftpuser:ftppass -T "{file1,file2}" ftp://ftp.server.com
  12. Abilitare la modalità Verbose

    è sufficiente inserire nel comando desiderato l'opzione -v, es:
    $ curl -v http://www.spaceclick.com
  13. Usare il protocollo DICT

    $ curl dict://dict.org/d:bash
  14. Inviare una mail tramite protocollo SMTP

    $ curl --mail-from aname@abcd.com --mail-rcpt foo@xyz.com smtp://mailserver.com
    in seguito verranno richiesti oggetto e corpo, inserirli come segue, con il punto come terminatore
    Subject: Test invio email (oggetto)
    Questo è un test di invio (corpo)
    .
  15. Scaricare un file tramite PROXY

    usare l'opzione -x
    $ curl -x proxysever.domain.com:3128 http://www.spaceclick.com

 

 Come vedete cUrl è una libreria molto versatile e interessante, fatene buon uso!

 

Cosa sono, come configurare e proteggere i DNS su Windows

DNS è l'acronimo di Domain Name System 
è il protocollo usato a livello globale per la traduzioni dei nomi a dominio
undefined

Cosa vuol dire?

Quando digitiamo il nome di un sito web (ad es. spaceclick.com) il nostro computer invia una richiesta DNS ad un opportuno server per la traduzione in indirizzo IP (es. 105.0.0.155) di tale nome. E poi si collega a tale indirizzo IP per lo scaricamento e visualizzazione del sito.

Questo perché ogni server (che contiene un sito web) è presente in internet con un proprio indirizzo IP (numerico) univoco; i computer non sanno di certo implicitamente instradare una richiesta 'verbale' verso un indirizzo 'numerico'!
Da qui la necessità di una traduzione.

Sparsi per il globo ci sono moltissimi server DNS, sempre in attesa di una richiesta di traduzione.

Di norma ogni provider che fornisca connessione ad internet (soprattutto per i privati), preconfigura i suoi router in modo da connettersi verso i server DNS proprietari dell'azienda. Questo perché in caso di necessità l'azienda stessa può impedire la traduzione di certi siti, magari dopo un blocco richiesto dalle autorità (siti malevoli); in tal caso il sito non risulterà raggiungibile dal computer richiedente (ma in realtà sapendo il suo indirizzo IP, potremmo benissimo collegarci!).

Perché cambiare i DNS?

Molte volte capita che i server DNS dei provider locali risolvano richieste con scarse prestazioni, soprattutto negli orari di punta in condizioni di alto carico.

Instradare richieste DNS verso un server 'veloce', velocizzerà di conseguenza la nostra navigazione!

Oppure può capitare che un sito non sia raggiungibile per via di una mancata propagazione di nuovi parametri DNS (capita soprattutto quando un sito estero modifica qualcosa, e passano anche giorni prima che tali modifiche arrivino nei server dei provider italiani).

Infine potrebbe esserci la necessità di superare dei blocchi imposti dal provider e quindi risolvere quanti più nomi possibile.

Le alternative

Come scritto, non esistono solo i server del provider!
Sparsi per il globo ci sono migliaia di server equivalenti, alcuni più e alcuni meno 'open', alcuni più e alcuni meno sicuri e veloci.

Eccone alcuni consigliati:

DNS Google

8.8.8.8
8.8.4.4

DNS OpenDNS

208.67.222.222
208.67.220.220

DNS Comodo SecureDNS

8.26.56.26
8.20.247.20

DNS Dyn's Internet Guide

216.146.35.35
216.146.36.36

DNS FoolDNS

87.118.111.215
213.187.11.62

DNS TelecomItalia

85.37.17.51
85.38.28.97

Quale scegliere?

Inutile dire che per rapidità e affidabilità il top in questo caso è Google, il quale è noto anche per l'immensa estensione dei suoi database (risolve molti più domini dei rivali).
Tuttavia se cerchiamo più sicurezza la scelta migliore sarà quella di OpenDNS o SecureDNS, dove ci viene fornita una protezione preventiva contro tentativi di pishing o contro siti contenenti malware e virus.
Questi server DNS bloccano tali siti, grazie a una loro lista aggiornata dagli stessi utenti della rete.

Come cambiare i parametri DNS

  • Andare su 'Pannello di controllo'.
  • Aprire 'Centro connessioni di rete e condivisione'.
  • Andare su 'Impostazioni scheda'

undefined

  • Selezionare la scheda di rete con la quale il computer si connette al router e quindi ad internet (di solito nei fissi è una ethernet, sui portatili una wireless). Andare su proprietà.

NOTA: Se nel computer è installato VirtualBox/VisualStudio o comunque altri programmi che fruiscono di emulatori di rete virtuale, potrebbero esserci più scelte nella finestra 'impostazioni scheda'. E' necessario trovare la scheda di rete 'a monte' e modificare solo quella, perché nel caso modificassimo una scheda di tali emulatori, non solo provocheremmo il malfunzionamento dei bridge virtuali, ma non avremo in realtà modificato i DNS alla vera scheda di rete del PC!

undefined

  • Scorrere l'elenco e selezionare la linea 'Protocollo TCP/IPv4' (attenzione a non deselezionare la casella a sx), e andare su Proprietà.

undefined

Nella nuova finestra che appare, potrebbero esserci 2 casi:

-è selezionata la casella 'Ottieni indirizzo server DNS automaticamente', in tal caso procedere a metterne uno manualmente.
-è già selezionata la casella 'Utilizza i seguenti server DNS'. Questo vuol dire che il computer era già stato precedentemente configurato per uno specifico server DNS, in tal caso sconsigliamo la modifica, oppure vi consigliamo di segnarvi gli indirizzi trovati per poterli ripristinare in caso di problemi.

Procedere con l'immissione manuale (nel nostro caso abbiamo scelto Google):

undefined

 

 SIAMO QUINDI PRONTI A VERIFICARE LE NUOVE IMPOSTAZIONI

 Tra i vari modi testare i nuovi dns, c'è quello rapido da prompt dei comandi.

 Aprire il prompt di Windows (start>esegui>cmd oppure cercare cmd dalla ricerca Windows 8), digitare

nslookup

 e dare invio

 apparirà sotto, una risposta con il server deputato.
 Se l'address corrisponde a quello che avevamo scelto, l'impostazione è andata a buon fine.

undefined

 

Da cmd consiglio anche di lanciare il comando:

ipconfig /flushdns

per ripulire la cache DNS gestita e memorizzata in locale da parte di Windows.

Adesso potremo anche provare a risolvere manualmente qualche nome, come ad esempio spaceclick.com con il comando:

nslookup blog.spaceclick.com

la risposta conterrà la traduzione in IP (e quindi il suo vero indirizzo nella rete) del dominio di questo sito.

 

F-SECURE per conferma..

Un metodo alternativo per verificare le corrette impostazioni dei DNS (su Router o PC) viene messo a disposizione da F-Secure.
Attraverso il servizio Router-Checker (raggiungibile qui) il sito esegue una verifica degli indirizzi IP che richiediamo e ci notifica un eventuale 'dirottamento' di cui non siamo a conoscenza.
Per vedere i dettagli, aprire la pagina, far partire il test ed infine andare su Details of your DNS server's IP address.
Molto interessante per proteggerci da attacchi di DNS hijacking (che in breve, ci fanno credere di aprire un sito legittimamente mentre invece ci connettiamo ad un sito fatto ad-hoc da un malintenzionato per prenderci dati personali).

Navigando normalmente da browser, noterete sicuramente un miglioramento di prestazioni, soprattutto nel momento in cui cliccate sui link per spostarvi da una pagina all'altra.

E' ovviamente sempre possibile ritornare alle impostazioni precedenti (quindi utilizzando i DNS del provider) rimettendo la scelta su 'Ottieni indirizzo server DNS automaticamente'.

Home