Tag Archives: wifi

Spoofing MAC address under MacOSX Snow Leopard

Why

If you travel a lot like me, you may find yourself in need to change the mac address of your gizmos to avoid paying multiple times for the same service.
Many hotspot services (commonly found in hotels) require you to pay for an access code for each wireless device that you bring with you. Usually these hotspots ask you to pay to get your mac address “allowed” to connect to the Internet for 24 hours.
Just pay once and change the mac address of your other devices so that they are all the same, but avoid using them at the same time :) You may screw up the network :)

Changing the mac address is also useful when you find some open wireless network protected only by mac filtering. But that’s another story.

How to spoof MAC address on MacOSX

In the past it was kinda easy to spoof your mac address under MacOSX, both for wired and wireless interfaces.
Nowadays, you can no longer use a simple ifconfig en1 ether XX:XX:XX:XX:XX:XX. Things got a little more complicated for wireless interfaces.

The problem is that you cannot modify the mac address of a wireless interface which is associated to some network. Right, you may think, so let’s take the interface down, change the mac addy and bring the interface up again. No, that won’t work either: you cannot modify the mac address while the interface is down.

Welcome airport -z. This command will disassociate your Airport card from any wireless network and at the same time keep the interface up.

The path of this tool under MacOSX is: /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport
You may want to symlink it to one of your $PATH dirs, like this:

sudo ln -s /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport /usr/sbin/airport

Now run as root:

airport -z

Wait a few seconds, and change your mac address:

ifconfig en1 ether XX:XX:XX:XX:XX:XX

Wait a few seconds. Verify with ifconfig en1 that the mac address was actually changed and in case it has not, retry the ifconfig en1 ether XX:XX:XX:XX:XX:XX command again until ifconfig en1 shows the correct mac address. Like I said you should wait a few seconds between each command.

Then open your Airport utility and choose your wireless network.

Thumbs up :)

Credits:

http://osxdaily.com/2008/01/17/how-to-spoof-your-mac-address-in-mac-os-x/

Share

Snow Leopard: backup su condivisione di rete samba/afp/…

 

UPDATE:

Il protocollo Samba non è più sopportato nella versione di Time Machine distribuita con Lion. Funziona solo AFP!!!

Intro

La versione di Time Machine distribuita con Snow Leopard (MacOSX 10.6.x) non funziona più con il vecchio arcinoto hack che permetteva di effettuare il backup su comuni cartelle condivise in rete da altri PC/server/NAS.

Non disperate! Fortunatamente è stato già scoperto come ovviare al problema.

Lo script tuttofare

[UPDATE del 14-Maggio-2010] per chi non crede nelle leggi di Murphy, ho preparato uno script che effettua tutta la procedura in modo automatico: universal_tm.sh

La procedura manuale

Per chi invece preferisce le cose manualmente, ecco la procedura passo-passo:

Supponiamo che:

  • il PC di cui volete effettuare il backup con Time Machine si chiami pippo: per scoprire il nome del vostro PC è sufficiente aprire un terminale e osservare cosa appare prima del prompt, oppure usare il comando: uname -n|sed -e ‘s/\..*$//’
  • lo spazio che volete dedicare al backup sia al massimo 100GB.

Prima di creare il volume per il backup con Time Machine dovete recuperare il mac address della scheda Ethernet. Potete ottenerlo semplicemente eseguendo il comando:

Notate che dovrete utilizzare il mac address della scheda di rete LAN, non WLAN. Questo anche nel caso intendiate effettuare il backup via wifi.

Supponiamo che il comando di cui sopra ritorni la stringa 001122334455.

Entrate in una directory temporanea sul disco locale e preparate il volume su cui Time Machine salverà i dati:

Sostituite la stringa pippo_001122334455 con una stringa opportuna che rispecchi il nome del vostro PC e il relativo mac address della scheda Ethernet.

Non vi preoccupate se in /tmp non avete 100GB di spazio a disposizione! hdiutil creerà il volume vuoto e pertanto saranno necessari solo poche decine di MB.

Sul PC pippo, fate click sulla mela in alto a sinistra, entrate in “Informazioni su questo Mac”/”Più informazioni” e segnatevi l’Hardware UUID del PC pippo.

All’interno della directory “pippo_001122334455.sparsebundle” generata dal programma hdiutil, create il file di testo com.apple.TimeMachine.MachineID.plist con il seguente contenuto:

Sostituite la stringa ILVOSTROUUID con la stringa che vi eravate trascritti precedentemente.

Il volume per i backup è pronto, non resta che spostarlo sulla condivisione di rete.

A tale scopo aprite il Finder, cliccate sul menu “Vai” e scegliete “Connessione al server”.

Digitate l’indirizzo del server che ospita la condivisione samba, es.: smb://192.168.0.10

Cliccate su “Connetti”, inserite le credenziali per l’accesso, se richieste, e assicuratevi di marcare: “Memorizza la password”.

A questo punto aprite un terminale, diventate root con “sudo -s” ed eseguite i seguenti comandi:

Notate che la directory pippo_001122334455.sparsebundle deve trovarsi nella root del volume condiviso via rete, non in una sottodirectory!

A questo punto non vi resta che lanciare Time Machine su pippo, selezionare come volume di destinazione per il backup la cartella condivisa e attendere pazientemente.

Thumbs up!

Caveat

In caso di problemi, potete controllare i log con il comando:

Due problemi molto comuni sono:

  • il computer viene messo in modalità sleep e quando viene riacceso non riesce a montare il volume TimeMachine (ERROR DIHLDiskImageAttach returned: 35)
  • il nome del computer contiene caratteri non alfanumerici o spazi

Per risolvere il problema DIHLDiskImageAttach returned: 35 è sufficiente espellere il disco condiviso dal Finder e attendere che venga rimontato automaticamente da Time Machine.

Credits

Ultimo aggiornamento: 19 May 2010

Credits: thanks to Sunkid

Share

Vedere i canali RAI dall’estero

Mi capita spesso di viaggiare all’estero e di avere accesso a una connessione a Internet, ma non alla tv satellitare.
Purtroppo la nostra cara mamma RAI, per la quale siamo felici di pagare il canone anche quando ci troviamo all’estero per periodi estesi – dato che non paghiamo per quello che vediamo bensì per la detenzione di un apparecchio televisivo – non ci permette di accedere allo streaming se la connessione proviene da un indirizzo IP fuori dall’Italia.

La teoria

Esistono vari modi per aggirare questa limitazione, ognuno richiede quanto segue:

  • una connessione a Internet in Italia con una velocità di upstream sufficiente (tipicamente >300KB/s).
  • accesso 24h/24 a un computer sul quale poter installare un server “socks” o un server VPN

Una volta soddisfatti questi due requisiti, non resta che configurare il proprio computer all’estero in modo che usi il computer in Italia come gateway per le connessioni effettuate tramite web browser.

La pratica

Vediamo un caso d’uso semplice e rapido per chi dispone di una macchina Linux/UNIX all’estero dotata di Firefox e client SSH (la chiameremo “laptop”) e di una macchina Linux/UNIX in Italia (la chiameremo “example.dyndns.org”), accessibile tramite SSH con l’account “mario”.

  1. Su “laptop” eseguiamo: ssh -N -D 9999 mario@example.dyndns.org &
  2. Su “laptop” apriamo Firefox, andiamo su Modifica/Preferenze/Avanzate, scegliamo il tab “Rete” e clicchiamo su “Impostazioni”:
  • scegliamo “Configurazione manuale del proxy”.
  • in “Host SOCKS” mettiamo localhost
  • in “Porta” mettiamo 9999.
come configurare Firefox per usare un server socks
come configurare Firefox per usare un server socks

Apriamo http://www.rai.tv e godiamoci la visione!

Attenzione: il nuovo sito di rai.tv utilizza la tecnologia Silverlight di Microsoft – giusto per non farsi mancare nulla, tanto paghiamo noi – pertanto avete bisogno di installare il pacchetto “moonlight-plugin-mozilla” (nel caso abbiate Ubuntu 9.04) o l’equivalente per la vostra distribuzione per poter accedere al sito.

La tecnica

Ecco cosa stiamo facendo dal punto di vista tecnico: le recenti versioni di ssh implementano al loro interno il supporto per creare un server SOCKS “on the fly”.

Un server SOCKS è un particolare tipo di proxy trasparente che permette di effettuare connessioni TCP dirette (e, dalla versione 5, di veicolare traffico UDP) tra due reti differenti nei casi in cui un instradamento diretto dei pacchetti non sia disponibile.

Eseguendo il comando:

di fatto creiamo un server socks sulla nostra macchina locale utlizzabile da qualunque applicazione giri sulla nostra macchina e abbia supporto per il protocollo SOCKS – nel nostro caso Firefox.

Il server socks è in ascolto su localhost:9999 e non richiede alcun tipo di autenticazione – una ottima ragione per lasciarlo in binding solo su localhost.

La particolarità di questo server SOCKS è quella di creare un tunnel tra il nostro laptop e il server ssh remoto e di instradare tutte le connessioni che riceve attraverso questo tunnel.

Una volta che i pacchetti arrivano all’altra estremità del tunnel, vengono inoltrati usando la tabella di routing del server. Al destinatario dei pacchetti sembrerà quindi che la connessione provenga dal server e non dalla nostra macchina “laptop”.

Come bonus, i pacchetti vengono criptati e compressi sul tunnel SSH mentre transitano dal nostro laptop al server.

L’utilizzo di questa tecnica può risultate utile in molteplici occasioni, non solo per vedere la TV estera ove esistano delle limitazioni sugli IP di provenienza:

  • Quando non abbiamo alcuna garanzia che qualcuno non stia sniffando la nostra connessione (per esempio quando usiamo un hotspot) e vogliamo criptare facilmente tutto il nostro traffico che utilizza protocolli in chiaro – non tutti i provider forniscono imaps, pop3s, smtps.
  • Quando alcuni protocolli sono bloccati (p2p vari, smtp)
  • Quando vogliamo nascondere il nostro indirizzo IP
Share