TUTORIAL hotspot streetpass casero para UBUNTU

TUTORIAL hotspot streetpass casero para UBUNTU

Paso 1:
1ro Abrimos el terminal y escribimos lo siguiente:

sudo apt-get update && sudo apt-get install rfkill dnsmasq hostapd


o

sudo aptitude update && sudo aptitude install rfkill dnsmasq hostapd


Nota: si tienes problemas de red con dnsmapd, desinstalaro e instala en su lugar dnsmapd-base.

Paso 2:
2do escribimos en el terminal

iwconfig


y te saldra algo parecido a esto:

ninoh-fox@averatec-1500-Series:~$ iwconfig
ppp0      no wireless extensions.

lo        no wireless extensions.

wwan0     no wireless extensions.

wlan0     IEEE 802.11bg  ESSID:off/any 
          Mode:Managed  Access Point: Not-Associated   Tx-Power=0 dBm   
          Retry  long limit:7   RTS thr:off   Fragment thr:off
          Power Management:on
         
eth0      no wireless extensions.

ninoh-fox@averatec-1500-Series:~$


es para saber cual es nuestro puerto wifi, el mio en este caso es wlan0.

Paso 3:
3ro abrimos el terminal y creamos los archivos scripts con gedit:

primero este:

gedit home_zone.sh


con el siguiente codigo:

#!/bin/bash
# 13/08/2013
#This is dicamarques edition of the script with mac changed to the ones from the list here https://docs.google.com/spreadsheet/lv?key=0AvvH5W4E2lIwdEFCUkxrM085ZGp0UkZlenp6SkJablE and easier wlan config
#
# wifi_zone_new
#  A script that emulates a Nintendo Zone in a way that you can actually connect to
#  other people all over the world.
#
# Initial version written by Somebunny (9. August 2013).
#

#
# documentation (sort of)
#
# You will need the following packages/programs:
#  - rfkill
#  - dnsmasq (will be killed if already running)
#  - hostapd (will be killed if already running)
# You should not need any additional configuration work.
#
# This script MUST be run as root, or using sudo, reconfiguring network
#  interfaces does not seem to work when run by non-root.
#
# Please adapt the following sections to your own computer:
#  - variables "zone" and "world", found below
#  - you can add hotsopts in "InitZone()", just copy what is there
#
# Usage: call the script with one extra parameter that describes the
#  MAC address to use. I have prepared some options that work from
#  the thread in the gbatemp forums.
#
# Shutdown: call the script with the parameter "stop".
#
#
# A first attempt to organise everything in a somewhat smarter way.
#

# First, some obligatory checks.
if [[ $EUID -ne 0 ]]; then
   echo "This script must be run as root or with sudo."
   echo "I don't like this either, but some calls here are really picky!"
   exit 1
fi

# some global settings; you should only need to adapt them for your system once
#  * this is the network interface used for your custom AP; must be wireless
zone=wlan0
#  * this is the network interface used to access the internet; can be almost anything
world=eth0

# some local variables; using default values so that something is there
ssid="attwifi"
mac=4E:53:50:4F:4F:46
country=DE
name="Main MAC (All/Any)"

#
# local function that sets up the local variables;
#  crude but better than having to change the script every time
# NOTE: this part should be heavily modified so that it doesn't
#  depend on a static config. Maybe something with an external
#  file or something, so you don't have to share your relay point
#  with the entire world if you don't want to.
#
InitZone() {
  # kill all existing support tools
  killall dnsmasq 2> /dev/null
  killall hostapd 2> /dev/null
  # flush routing entries
  iptables --flush
  # deconfigure network interface
  /sbin/ifconfig $zone down
  case $1 in
    "stop")
      # emergency exit - restore old network state
      echo "Stopping Nintendo Zone hotspot"
      /etc/init.d/network-manager restart # yeah... didn't find a better way to fix it...
      exit
    ;;
    "random") #thanks to duke_srg for this. Edit the title line with the games you have. The default has Mk7, Super Mario 3D world and AC:NL
#For more codes see https://docs.google.com/spreadsheet/ccc?key=0Ajsweg1Cjr5_dGhlaDNfd2Fid0ZpNTBYQ2pwVUlLT3c#gid=0 just add the ctr code here
#everytime you run random it picks a different mac, so once you get mk, then ac...
TITLES=AMKAREEGD
BASE=NSP
RANDOM=$(head -c 2 /dev/urandom | hexdump -e '1/2 "%u"')
CTR=$(($RANDOM%$(($(expr length $TITLES)/3))))
mac=$(echo $BASE$TITLES | cut -c 1-3,$(($CTR*3+4))-$(($CTR*3+6)) | hexdump -e '6/1 "%02X:"' | head -c 17)
      ssid="attwifi"
      country=DE
      name="Random MAC from custom title list"
    ;;
    "default")
      # default settings, my old WiFi card that recently died
      ;;
    "spoof1")
      ssid="attwifi"
      mac=4E:53:50:4F:4F:46
      country=DE
      name="Main MAC (All/Any)"
    ;;
    "spoof2")
      ssid="attwifi"
      mac=4E:53:50:4F:4F:47
      country=DE
      name="2nd Global Spoof (AC:NL)"
    ;;
    "spoof3")
      ssid="attwifi"
      mac=4E:53:50:4F:4F:48
      country=DE
      name="3nd Global Spoof (Fire Emblem / EO4 / SMT4)"
    ;;
    "spoof4")
      ssid="attwifi"
      mac=4E:53:50:4F:4F:49
      country=DE
      name="4nd Global Spoof (...)"
    ;;
    "spoof5")
      ssid="attwifi"
      mac=4E:53:50:4F:4F:50
      country=DE
      name="5nd Global Spoof (...)"
    ;;
    "spoof6")
      ssid="attwifi"
      mac=4E:53:50:4F:4F:51
      country=DE
      name="6nd Global Spoof (...)"
    ;;
    "milan")
      ssid="attwifi"
      mac=d8:6c:e9:f3:eb:96
      country=DE
      name="DONT UsE THis ONE!"
;;

  esac
}

# networkmanager often leaves a lock on the wireless hardware, remove it
rfkill unblock wifi

# set up parameters
InitZone $1

# give our wifi device a static IP address in the correct range so hostapd can associate with it
/sbin/ifconfig $zone hw ether $mac
/sbin/ifconfig $zone 192.168.23.1 up

# start dnsmasq
dnsmasq -i $zone --dhcp-range=192.168.23.50,192.168.23.150,255.255.255.0,12h

# enable IP forwarding
echo 1 > /proc/sys/net/ipv4/ip_forward

# set basic routes so that our associated devices can reach the web
iptables --flush
iptables --table nat --flush
iptables --delete-chain
iptables --table nat --delete-chain
iptables --table nat --append POSTROUTING --out-interface $world -j MASQUERADE
iptables --append FORWARD --in-interface $zone -j ACCEPT

sysctl -w net.ipv4.ip_forward=1

# start hostapd, spawn a temporary file
TMPDIR=`mktemp -d`
tmpfile=$TMPDIR/nztmp
echo $tmpfile
trap "rm -rf $TMPDIR" EXIT

echo "interface=${zone}" >> $tmpfile
echo "driver=nl80211" >> $tmpfile
echo "channel=1" >> $tmpfile
echo "ssid=${ssid}" >> $tmpfile
echo "auth_algs=1" >> $tmpfile
echo "wpa=0" >> $tmpfile
echo "country_code=${country}" >> $tmpfile
# uncomment the following two lines if you want MAC filtering
#echo "macaddr_acl=1" >> $tmpfile
#echo "accept_mac_file=/home/ms/hostapd/hostapd_mac_file" >> $tmpfile

echo "Starting Nintendo Zone hotspot, using config ''${name}''"
echo "SSID: ${ssid}"
echo "Country: ${country}"

hostapd $tmpfile -B -d > /dev/null 2> /dev/null

rm -rf $TMPDIR


nota: en este archivo tanto en los siguientes el valor zone= se refiere al moden o antena wifi que usaremos para crear la zona nintendo el cual deberiamos haber identificado con el comando de antes, el valor world= se refiere al puerto de intrada de internet del ordenador. Estos comandos valores los deberéis cambiar segun la configuracion de internet que tengais, por ejemplo:

Wifi del ordenador para entrada de internet y Wifi usb para zone seria asi:

zone=wlan1 world=wlan0


cable de red para entrada de internet y wifi usb para zone:

zone=wlan1 world=eth0


cable de red para entrada de internet y wifi interno para zone:

zone=wlan0 world=eth0


usb 3G moden para entrada de internet y wifi usb para zone:

zone=wlan1 world=ppp0


etc etc...

y luego este:

version con varios ssid para los que tengan el internet por cable:

gedit wifi_zoneMULTI.sh


codigo:

#!/bin/bash

#!/bin/bash
#
# wifi_zone_new
#  A script that emulates a Nintendo Zone in a way that you can actually connect to
#  other people all over the world.
#
# Initial version written by Somebunny (9. August 2013).
#

#
# documentation (sort of)
#
# You will need the following packages/programs:
#  - rfkill
#  - dnsmasq (will be killed if already running)
#  - hostapd (will be killed if already running)
# You should not need any additional configuration work.
#
# This script MUST be run as root, or using sudo, reconfiguring network
#  interfaces does not seem to work when run by non-root.
#
# Please adapt the following sections to your own computer:
#  - variables "zone" and "world", found below
#  - you can add hotsopts in "InitZone()", just copy what is there
#
# Usage: call the script with one extra parameter that describes the
#  MAC address to use. I have prepared some options that work from
#  the thread in the gbatemp forums.
#
# Shutdown: call the script with the parameter "stop".
#
#
# A first attempt to organise everything in a somewhat smarter way.
#

# First, some obligatory checks.
if [[ $EUID -ne 0 ]]; then
   echo "This script must be run as root or with sudo."
   echo "I don't like this either, but some calls here are really picky!"
   exit 1
fi

# some global settings; you should only need to adapt them for your system once
#  * this is the network interface used for your custom AP; must be wireless
zone=wlan0
#  * this is the network interface used to access the internet; can be almost anything
world=eth0

# some local variables; using default values so that something is there
country=ES
name="Main MAC (All/Any)"
n="0"
i="0"
p="0"
b="0"
a="0"

echo 'Empezando Homepass...'
sudo killall hostapd
sudo service hostapd start

for p in {0..1}
do
for b in {0..6}
do
for a in {0..15}
do
for n in {1}
do

# kill all existing support tools
  killall dnsmasq 2> /dev/null
  killall hostapd 2> /dev/null
  # flush routing entries
  iptables --flush
  # deconfigure network interface
  /sbin/ifconfig $zone down
   
# networkmanager often leaves a lock on the wireless hardware, remove it
rfkill unblock wifi

# set up parameters
#InitZone $1

case $n in
1) d=$[$d+1];;
*) d=$[$d+1];;
esac

case $a in
10) k="A";;
11) k="B";;
12) k="C";;
13) k="D";;
14) k="E";;
15) k="F";;
*) k=$a;;
esac

case $b in
0) l="4";;
1) l="5";;
2) l="6";;
3) l="7";;
4) l="8";;
5) l="9";;
6) l="0";;
*) l=$b;;
esac

case $p in
0) ssid="attwifi"; zona="USA"; text="=       | SSID: attwifi                 |       =";;
1) ssid="_The Cloud"; zona="EUR"; text="=       | SSID: _The Cloud              |       =";;
*) ssid=$ssid;;
esac

sudo service hostapd stop
sudo service hostapd start

# give our wifi device a static IP address in the correct range so hostapd can associate with it
/sbin/ifconfig $zone hw ether 4E:53:50:4F:4F:$l$k

/sbin/ifconfig $zone 192.168.23.1 up

# start dnsmasq
dnsmasq -i $zone --dhcp-range=192.168.23.50,192.168.23.150,255.255.255.0,12h

# enable IP forwarding
echo 1 > /proc/sys/net/ipv4/ip_forward

# set basic routes so that our associated devices can reach the web
iptables --flush
iptables --table nat --flush
iptables --delete-chain
iptables --table nat --delete-chain
iptables --table nat --append POSTROUTING --out-interface $world -j MASQUERADE
iptables --append FORWARD --in-interface $zone -j ACCEPT

sysctl -w net.ipv4.ip_forward=1

# start hostapd, spawn a temporary file
TMPDIR=`mktemp -d`
tmpfile=$TMPDIR/nztmp
echo $tmpfile
trap "rm -rf $TMPDIR" EXIT

echo "interface=${zone}" >> $tmpfile
echo "driver=nl80211" >> $tmpfile
echo "ssid=${ssid}" >> $tmpfile
echo "country_code=${country}" >> $tmpfile
echo "hw_mode=g" >> $tmpfile
echo "channel=1" >> $tmpfile
echo "macaddr_acl=0" >> $tmpfile
echo "auth_algs=1" >> $tmpfile
echo "ignore_broadcast_ssid=0" >> $tmpfile
echo "wpa=3" >> $tmpfile
echo "wpa_passphrase=TU CLAVE WIFI" >> $tmpfile
echo "wpa_key_mgmt=WPA-PSK" >> $tmpfile
echo "wpa_pairwise=TKIP" >> $tmpfile
echo "rsn_pairwise=CCMP" >> $tmpfile

# uncomment the following two lines if you want MAC filtering
#echo "macaddr_acl=1" >> $tmpfile
#echo "accept_mac_file=/home/`whoami`/hostapd/hostapd_mac_file" >> $tmpfile

echo "================================================="
echo "=     _   _ _       _                 _         ="
echo "=    | \ | (_)_ __ | |_ ___ _ __   __| | ___    ="
echo "=    |  \| | | '_ \| __/ _ \ '_ \ / _' |/ _ \   ="
echo "=    | |\  | | | | | ||  __/ | | | (_| | (_) |  ="
echo "=    |_| \_|_|_| |_|\__\___|_| |_|\__,_|\___/   ="
echo "=               _______  _ __   ___             ="
echo "=              |_  / _ \| '_ \ / _ \            ="
echo "=               / / (_) | | | |  __/            ="
echo "=              /___\___/|_| |_|\___|            ="
echo "=       ---------------------------------       ="
echo "=       | MAC address 4E:53:50:4F:4F:${l}${k} |       ="
echo "${text}"
echo "=       | Country: ${country}                   |       ="
echo "=       | Zona: ${zona}                     |       ="
echo "=       ---------------------------------       ="
echo "=       _____ ___  _                  _         ="
echo "=      | ____/ _ \| |      _ __   ___| |_       ="
echo "=      |  _|| | | | |     | '_ \ / _ \ __|      ="
echo "=      | |__| |_| | |___  | | | |  __/ |_       ="
echo "=      |_____\___/|_____| |_| |_|\___|\__|      ="
echo "=                 original script gbatemp.net   ="
echo "=                            edit:  Ninoh-FOX   ="
echo "==========================================224/$d"

hostapd $tmpfile -B -d > /dev/null 2> /dev/null

rm -rf $TMPDIR

sleep 120

done
done
done
echo "Reiniciando Nintendo Zone hotspot"
sudo service hostapd restart
done
sudo killall hostapd
exit


version con un solo servidor para los que tengan internet por cable:

gedit wifi_zone.sh


codigo:

#!/bin/bash

#!/bin/bash
#
# wifi_zone_new
#  A script that emulates a Nintendo Zone in a way that you can actually connect to
#  other people all over the world.
#
# Initial version written by Somebunny (9. August 2013).
#

#
# documentation (sort of)
#
# You will need the following packages/programs:
#  - rfkill
#  - dnsmasq (will be killed if already running)
#  - hostapd (will be killed if already running)
# You should not need any additional configuration work.
#
# This script MUST be run as root, or using sudo, reconfiguring network
#  interfaces does not seem to work when run by non-root.
#
# Please adapt the following sections to your own computer:
#  - variables "zone" and "world", found below
#  - you can add hotsopts in "InitZone()", just copy what is there
#
# Usage: call the script with one extra parameter that describes the
#  MAC address to use. I have prepared some options that work from
#  the thread in the gbatemp forums.
#
# Shutdown: call the script with the parameter "stop".
#
#
# A first attempt to organise everything in a somewhat smarter way.
#

# First, some obligatory checks.
if [[ $EUID -ne 0 ]]; then
   echo "This script must be run as root or with sudo."
   echo "I don't like this either, but some calls here are really picky!"
   exit 1
fi

# some global settings; you should only need to adapt them for your system once
#  * this is the network interface used for your custom AP; must be wireless
zone=wlan0
#  * this is the network interface used to access the internet; can be almost anything
world=eth0

# some local variables; using default values so that something is there
country=ES
name="Main MAC (All/Any)"
n="0"
d="0"
i="0"
h="0"
b="0"
a="0"
ssid="attwifi"

echo 'Empezando Homepass...'
sudo killall hostapd
sudo service hostapd start

for h in {0..3}
do
for b in {0..3}
do
for a in {0..15}
do
for n in {1}
do

# kill all
# existing support tools
  killall dnsmasq 2> /dev/null
  killall hostapd 2> /dev/null
  # flush routing entries
  iptables --flush
  # deconfigure network interface
  /sbin/ifconfig $zone down
   
# networkmanager often leaves a lock on the wireless hardware, remove it
rfkill unblock wifi

# set up parameters
#InitZone $1

case $n in
1) d=$[$d+1];;
*) d=$[$d+1];;
esac

case $h in
0) f="4E:53:50";;
1) f="42:53:50";;
2) f="40:53:50";;
3) f="4E:4E:4E";;
*) f=$f;;
esac

case $a in
10) k="A";;
11) k="B";;
12) k="C";;
13) k="D";;
14) k="E";;
15) k="F";;
*) k=$a;;
esac

case $b in
0) l="4";;
1) l="5";;
2) l="9";;
3) l="0";;
*) l=$b;;
esac

sudo service hostapd stop
sudo service hostapd start

# give our wifi device a static IP address in the correct range so hostapd can associate with it
/sbin/ifconfig $zone hw ether $f:4F:4F:$l$k

/sbin/ifconfig $zone 192.168.23.1 up

# start dnsmasq
dnsmasq -i $zone --dhcp-range=192.168.23.50,192.168.23.150,255.255.255.0,12h

# enable IP forwarding
echo 1 > /proc/sys/net/ipv4/ip_forward

# set basic routes so that our associated devices can reach the web
iptables --flush
iptables --table nat --flush
iptables --delete-chain
iptables --table nat --delete-chain
iptables --table nat --append POSTROUTING --out-interface $world -j MASQUERADE
iptables --append FORWARD --in-interface $zone -j ACCEPT

sysctl -w net.ipv4.ip_forward=1

# start hostapd, spawn a temporary file
TMPDIR=`mktemp -d`
tmpfile=$TMPDIR/nztmp
echo $tmpfile
trap "rm -rf $TMPDIR" EXIT

echo "interface=${zone}" >> $tmpfile
echo "driver=nl80211" >> $tmpfile
echo "ssid=${ssid}" >> $tmpfile
echo "country_code=${country}" >> $tmpfile
echo "hw_mode=g" >> $tmpfile
echo "channel=1" >> $tmpfile
echo "macaddr_acl=0" >> $tmpfile
echo "auth_algs=1" >> $tmpfile
echo "ignore_broadcast_ssid=0" >> $tmpfile
echo "wpa=3" >> $tmpfile
echo "wpa_passphrase=TU CLAVE WIFI" >> $tmpfile
echo "wpa_key_mgmt=WPA-PSK" >> $tmpfile
echo "wpa_pairwise=TKIP" >> $tmpfile
echo "rsn_pairwise=CCMP" >> $tmpfile

# uncomment the following two lines if you want MAC filtering
#echo "macaddr_acl=1" >> $tmpfile
#echo "accept_mac_file=/home/`whoami`/hostapd/hostapd_mac_file" >> $tmpfile

echo "================================================="
echo "=     _   _ _       _                 _         ="
echo "=    | \ | (_)_ __ | |_ ___ _ __   __| | ___    ="
echo "=    |  \| | | '_ \| __/ _ \ '_ \ / _' |/ _ \   ="
echo "=    | |\  | | | | | ||  __/ | | | (_| | (_) |  ="
echo "=    |_| \_|_|_| |_|\__\___|_| |_|\__,_|\___/   ="
echo "=               _______  _ __   ___             ="
echo "=              |_  / _ \| '_ \ / _ \            ="
echo "=               / / (_) | | | |  __/            ="
echo "=              /___\___/|_| |_|\___|            ="
echo "=       ---------------------------------       ="
echo "=       | MAC address ${f}:4F:4F:${l}${k} |       ="
echo "=       | SSID: ${ssid}                 |       ="
echo "=       | Country: ${country}                   |       ="
echo "=       ---------------------------------       ="
echo "=       _____ ___  _                  _         ="
echo "=      | ____/ _ \| |      _ __   ___| |_       ="
echo "=      |  _|| | | | |     | '_ \ / _ \ __|      ="
echo "=      | |__| |_| | |___  | | | |  __/ |_       ="
echo "=      |_____\___/|_____| |_| |_|\___|\__|      ="
echo "=                 original script gbatemp.net   ="
echo "=                            edit:  Ninoh-FOX   ="
echo "==========================================256/$d"

hostapd $tmpfile -B -d > /dev/null 2> /dev/null

rm -rf $TMPDIR

sleep 90

done
done
done
done
echo "Apagando Nintendo Zone hotspot"
sudo killall hostapd
exit


y version para los que tengan un moden usb de internet movil:

gedit wifi_zoneUSB.sh


codigo:

#!/bin/bash

#!/bin/bash
#
# wifi_zone_new
#  A script that emulates a Nintendo Zone in a way that you can actually connect to
#  other people all over the world.
#
# Initial version written by Somebunny (9. August 2013).
#

#
# documentation (sort of)
#
# You will need the following packages/programs:
#  - rfkill
#  - dnsmasq (will be killed if already running)
#  - hostapd (will be killed if already running)
# You should not need any additional configuration work.
#
# This script MUST be run as root, or using sudo, reconfiguring network
#  interfaces does not seem to work when run by non-root.
#
# Please adapt the following sections to your own computer:
#  - variables "zone" and "world", found below
#  - you can add hotsopts in "InitZone()", just copy what is there
#
# Usage: call the script with one extra parameter that describes the
#  MAC address to use. I have prepared some options that work from
#  the thread in the gbatemp forums.
#
# Shutdown: call the script with the parameter "stop".
#
#
# A first attempt to organise everything in a somewhat smarter way.
#

# First, some obligatory checks.
if [[ $EUID -ne 0 ]]; then
   echo "This script must be run as root or with sudo."
   echo "I don't like this either, but some calls here are really picky!"
   exit 1
fi

# some global settings; you should only need to adapt them for your system once
#  * this is the network interface used for your custom AP; must be wireless
zone=wlan0
#  * this is the network interface used to access the internet; can be almost anything
world=ppp0

# some local variables; using default values so that something is there
country=ES
name="Main MAC (All/Any)"
n="0"
d="0"
i="0"
h="0"
b="0"
a="0"
ssid="attwifi"

echo 'Empezando Homepass...'
sudo killall hostapd
sudo service hostapd start

for h in {0..3}
do
for b in {0..3}
do
for a in {0..15}
do
for n in {1}
do

# kill all
# existing support tools
  killall dnsmasq 2> /dev/null
  killall hostapd 2> /dev/null
  # flush routing entries
  iptables --flush
  # deconfigure network interface
  /sbin/ifconfig $zone down
   
# networkmanager often leaves a lock on the wireless hardware, remove it
rfkill unblock wifi

# set up parameters
#InitZone $1

case $n in
1) d=$[$d+1];;
*) d=$[$d+1];;
esac

case $h in
0) f="4E:53:50";;
1) f="42:53:50";;
2) f="40:53:50";;
3) f="4E:4E:4E";;
*) f=$f;;
esac

case $a in
10) k="A";;
11) k="B";;
12) k="C";;
13) k="D";;
14) k="E";;
15) k="F";;
*) k=$a;;
esac

case $b in
0) l="4";;
1) l="5";;
2) l="9";;
3) l="0";;
*) l=$b;;
esac

sudo service hostapd stop
sudo service hostapd start

# give our wifi device a static IP address in the correct range so hostapd can associate with it
/sbin/ifconfig $zone hw ether $f:4F:4F:$l$k

/sbin/ifconfig $zone 192.168.23.1 up

# start dnsmasq
dnsmasq -i $zone --dhcp-range=192.168.23.50,192.168.23.150,255.255.255.0,12h

# enable IP forwarding
echo 1 > /proc/sys/net/ipv4/ip_forward

# set basic routes so that our associated devices can reach the web
iptables --flush
iptables --table nat --flush
iptables --delete-chain
iptables --table nat --delete-chain
iptables --table nat --append POSTROUTING --out-interface $world -j MASQUERADE
iptables --append FORWARD --in-interface $zone -j ACCEPT

sysctl -w net.ipv4.ip_forward=1

# start hostapd, spawn a temporary file
TMPDIR=`mktemp -d`
tmpfile=$TMPDIR/nztmp
echo $tmpfile
trap "rm -rf $TMPDIR" EXIT

echo "interface=${zone}" >> $tmpfile
echo "driver=nl80211" >> $tmpfile
echo "ssid=${ssid}" >> $tmpfile
echo "country_code=${country}" >> $tmpfile
echo "hw_mode=g" >> $tmpfile
echo "channel=1" >> $tmpfile
echo "macaddr_acl=0" >> $tmpfile
echo "auth_algs=1" >> $tmpfile
echo "ignore_broadcast_ssid=0" >> $tmpfile
echo "wpa=3" >> $tmpfile
echo "wpa_passphrase=TU CLAVE WIFI" >> $tmpfile
echo "wpa_key_mgmt=WPA-PSK" >> $tmpfile
echo "wpa_pairwise=TKIP" >> $tmpfile
echo "rsn_pairwise=CCMP" >> $tmpfile

# uncomment the following two lines if you want MAC filtering
#echo "macaddr_acl=1" >> $tmpfile
#echo "accept_mac_file=/home/`whoami`/hostapd/hostapd_mac_file" >> $tmpfile

echo "================================================="
echo "=     _   _ _       _                 _         ="
echo "=    | \ | (_)_ __ | |_ ___ _ __   __| | ___    ="
echo "=    |  \| | | '_ \| __/ _ \ '_ \ / _' |/ _ \   ="
echo "=    | |\  | | | | | ||  __/ | | | (_| | (_) |  ="
echo "=    |_| \_|_|_| |_|\__\___|_| |_|\__,_|\___/   ="
echo "=               _______  _ __   ___             ="
echo "=              |_  / _ \| '_ \ / _ \            ="
echo "=               / / (_) | | | |  __/            ="
echo "=              /___\___/|_| |_|\___|            ="
echo "=       ---------------------------------       ="
echo "=       | MAC address ${f}:4F:4F:${l}${k} |       ="
echo "=       | SSID: ${ssid}                 |       ="
echo "=       | Country: ${country}                   |       ="
echo "=       ---------------------------------       ="
echo "=       _____ ___  _                  _         ="
echo "=      | ____/ _ \| |      _ __   ___| |_       ="
echo "=      |  _|| | | | |     | '_ \ / _ \ __|      ="
echo "=      | |__| |_| | |___  | | | |  __/ |_       ="
echo "=      |_____\___/|_____| |_| |_|\___|\__|      ="
echo "=                 original script gbatemp.net   ="
echo "=                            edit:  Ninoh-FOX   ="
echo "==========================================256/$d"

hostapd $tmpfile -B -d > /dev/null 2> /dev/null

rm -rf $TMPDIR

sleep 90

done
done
done
done
echo "Apagando Nintendo Zone hotspot"
sudo killall hostapd
exit


y con multi server para moden USB 3G:

gedit ./wifi_zoneUSBMulti.sh


codigo:

codigo:

#!/bin/bash

#!/bin/bash
#
# wifi_zone_new
#  A script that emulates a Nintendo Zone in a way that you can actually connect to
#  other people all over the world.
#
# Initial version written by Somebunny (9. August 2013).
#

#
# documentation (sort of)
#
# You will need the following packages/programs:
#  - rfkill
#  - dnsmasq (will be killed if already running)
#  - hostapd (will be killed if already running)
# You should not need any additional configuration work.
#
# This script MUST be run as root, or using sudo, reconfiguring network
#  interfaces does not seem to work when run by non-root.
#
# Please adapt the following sections to your own computer:
#  - variables "zone" and "world", found below
#  - you can add hotsopts in "InitZone()", just copy what is there
#
# Usage: call the script with one extra parameter that describes the
#  MAC address to use. I have prepared some options that work from
#  the thread in the gbatemp forums.
#
# Shutdown: call the script with the parameter "stop".
#
#
# A first attempt to organise everything in a somewhat smarter way.
#

# First, some obligatory checks.
if [[ $EUID -ne 0 ]]; then
   echo "This script must be run as root or with sudo."
   echo "I don't like this either, but some calls here are really picky!"
   exit 1
fi

# some global settings; you should only need to adapt them for your system once
#  * this is the network interface used for your custom AP; must be wireless
zone=wlan0
#  * this is the network interface used to access the internet; can be almost anything
world=ppp0

# some local variables; using default values so that something is there
country=ES
name="Main MAC (All/Any)"
n="0"
i="0"
p="0"
b="0"
a="0"

echo 'Empezando Homepass...'
sudo killall hostapd
sudo service hostapd start

for p in {0..1}
do
for b in {0..6}
do
for a in {0..15}
do
for n in {1}
do

# kill all existing support tools
  killall dnsmasq 2> /dev/null
  killall hostapd 2> /dev/null
  # flush routing entries
  iptables --flush
  # deconfigure network interface
  /sbin/ifconfig $zone down
   
# networkmanager often leaves a lock on the wireless hardware, remove it
rfkill unblock wifi

# set up parameters
#InitZone $1

case $n in
1) d=$[$d+1];;
*) d=$[$d+1];;
esac

case $a in
10) k="A";;
11) k="B";;
12) k="C";;
13) k="D";;
14) k="E";;
15) k="F";;
*) k=$a;;
esac

case $b in
0) l="4";;
1) l="5";;
2) l="6";;
3) l="7";;
4) l="8";;
5) l="9";;
6) l="0";;
*) l=$b;;
esac

case $p in
0) ssid="attwifi"; zona="USA"; text="=       | SSID: attwifi                 |       =";;
1) ssid="_The Cloud"; zona="EUR"; text="=       | SSID: _The Cloud              |       =";;
*) ssid=$ssid;;
esac

sudo service hostapd stop
sudo service hostapd start

# give our wifi device a static IP address in the correct range so hostapd can associate with it
/sbin/ifconfig $zone hw ether 4E:53:50:4F:4F:$l$k

/sbin/ifconfig $zone 192.168.23.1 up

# start dnsmasq
dnsmasq -i $zone --dhcp-range=192.168.23.50,192.168.23.150,255.255.255.0,12h

# enable IP forwarding
echo 1 > /proc/sys/net/ipv4/ip_forward

# set basic routes so that our associated devices can reach the web
iptables --flush
iptables --table nat --flush
iptables --delete-chain
iptables --table nat --delete-chain
iptables --table nat --append POSTROUTING --out-interface $world -j MASQUERADE
iptables --append FORWARD --in-interface $zone -j ACCEPT

sysctl -w net.ipv4.ip_forward=1

# start hostapd, spawn a temporary file
TMPDIR=`mktemp -d`
tmpfile=$TMPDIR/nztmp
echo $tmpfile
trap "rm -rf $TMPDIR" EXIT

echo "interface=${zone}" >> $tmpfile
echo "driver=nl80211" >> $tmpfile
echo "ssid=${ssid}" >> $tmpfile
echo "country_code=${country}" >> $tmpfile
echo "hw_mode=g" >> $tmpfile
echo "channel=1" >> $tmpfile
echo "macaddr_acl=0" >> $tmpfile
echo "auth_algs=1" >> $tmpfile
echo "ignore_broadcast_ssid=0" >> $tmpfile
echo "wpa=3" >> $tmpfile
echo "wpa_passphrase=TU CLAVE WIFI" >> $tmpfile
echo "wpa_key_mgmt=WPA-PSK" >> $tmpfile
echo "wpa_pairwise=TKIP" >> $tmpfile
echo "rsn_pairwise=CCMP" >> $tmpfile

# uncomment the following two lines if you want MAC filtering
#echo "macaddr_acl=1" >> $tmpfile
#echo "accept_mac_file=/home/`whoami`/hostapd/hostapd_mac_file" >> $tmpfile

echo "================================================="
echo "=     _   _ _       _                 _         ="
echo "=    | \ | (_)_ __ | |_ ___ _ __   __| | ___    ="
echo "=    |  \| | | '_ \| __/ _ \ '_ \ / _' |/ _ \   ="
echo "=    | |\  | | | | | ||  __/ | | | (_| | (_) |  ="
echo "=    |_| \_|_|_| |_|\__\___|_| |_|\__,_|\___/   ="
echo "=               _______  _ __   ___             ="
echo "=              |_  / _ \| '_ \ / _ \            ="
echo "=               / / (_) | | | |  __/            ="
echo "=              /___\___/|_| |_|\___|            ="
echo "=       ---------------------------------       ="
echo "=       | MAC address 4E:53:50:4F:4F:${l}${k} |       ="
echo "${text}"
echo "=       | Country: ${country}                   |       ="
echo "=       | Zona: ${zona}                     |       ="
echo "=       ---------------------------------       ="
echo "=       _____ ___  _                  _         ="
echo "=      | ____/ _ \| |      _ __   ___| |_       ="
echo "=      |  _|| | | | |     | '_ \ / _ \ __|      ="
echo "=      | |__| |_| | |___  | | | |  __/ |_       ="
echo "=      |_____\___/|_____| |_| |_|\___|\__|      ="
echo "=                 original script gbatemp.net   ="
echo "=                            edit:  Ninoh-FOX   ="
echo "==========================================224/$d"

hostapd $tmpfile -B -d > /dev/null 2> /dev/null

rm -rf $TMPDIR

sleep 120

done
done
done
echo "Reiniciando Nintendo Zone hotspot"
sudo service hostapd restart
done
sudo killall hostapd
exit


en el archivo que creeis buscais la siguiente linea:

echo "wpa_passphrase=TU CLAVE WIFI" >> $tmpfile


y sustituis TU CLAVE WIFI por la clave que queráis.

Recordad que todos estos SCRIPT están configurado para usar la tarjeta interna wifi, si tenéis otra deberéis cambiar los valores

Paso 4:
4to una vez editados todos los archivos le damos permiso de ejecución en el terminal de la siguiente forma:

sudo chmod +x ./nombre del archivo.sh

Paso 5:
5to editamos el siguiente archivo de esta forma:

sudo gedit /etc/dnsmasq.conf


y escribimos arriba del todo:

# Configuration file for dnsmasq.

# disables dnsmasq reading any other files like /etc/resolv.conf for nameservers
no-resolv
# Interface to bind to
interface=wlan0
# Specify starting_range,end_range,lease_time
dhcp-range=10.0.0.3,10.0.0.20,12h
# dns addresses to send to the clients
server=8.8.8.8
server=8.8.4.4


y lo salvamos.

Paso 6:
6to configurar la consola:

todas las redes tienen clave wap2, por lo que la consola no las pillara, para ello entra en la configuracion del sistema y busca las redes con la clave que tu le hayas puesto (recuerda busca TU CLAVE WIFI en los scripts para poner la que tu quieras)

para el de varios SSID son 3 redes y para los demas una.

Una vez metidas en la lista de redes no deberiais tener problemas para entrar en ellas.

Paso 7:
7to arrancar el programa:

escribimos en el terminal:

sudo ./wifi_zone.sh
o
sudo ./wifi_zoneUSB.sh
o
sudo ./wifi_zoneMULTI.sh
para ejecutar el que queramos.

listo, zona wifi funcionando.

paso 8 y ultimo:
8to para parar el proceso cerramos el terminal, abrimos uno nuevo y escribimos lo siguiente:

sudo ./home_zone stop


o tambien podeis usar (yo uso este):

en el mismo terminal que esta corriendo el script pulsais Ctrl+C y poneis
sudo killall hostapd


Imagen
Gracias por el tuto!

Es el único con el que he podido tener luz verde!! [sonrisa] [sonrisa] [sonrisa]

Por cierto, ten cuidado porque te has dejado en el script bbcode que hace que no se interprete bien:
[ b ]zone=wlan0[ /b ]
[ b ]world=eth0[ /b ]
razielete escribió:Gracias por el tuto!

Es el único con el que he podido tener luz verde!! [sonrisa] [sonrisa] [sonrisa]

Por cierto, ten cuidado porque te has dejado en el script bbcode que hace que no se interprete bien:
[ b ]zone=wlan0[ /b ]
[ b ]world=eth0[ /b ]


Gracias, ahora lo corrijo

Edit: Conseguido!! 100 encuantros en un dia!!
Imagen
¿Para conseguir 100 encuentros es necesario "vaciar" la cola de los miis en la entrada de 10 en 10 o si puede poner la 3DS una noche mientras el script va recorriendo las MACs del 0 - 255?
Gracias por el tuto, me esperaré a coger el portatil para probar a trastear un poco.
razielete escribió:¿Para conseguir 100 encuentros es necesario "vaciar" la cola de los miis en la entrada de 10 en 10 o si puede poner la 3DS una noche mientras el script va recorriendo las MACs del 0 - 255?


tienes que ir vaciando >.<
¿es normal que me haya encontrado con Ninoh-FOX la nada despreciable cifra de 17 veces? [360º]
¿Me podéis echar una mano con esto? Os dejo una captura con mi problema: https://www.dropbox.com/s/g9mzdkjjw4bl9 ... 818%29.png

No seáis muy duros con mi idiotez ^^U
Hirobyte escribió:¿Me podéis echar una mano con esto? Os dejo una captura con mi problema: https://www.dropbox.com/s/g9mzdkjjw4bl9 ... 818%29.png

No seáis muy duros con mi idiotez ^^U


que raro, es como si tuvieras todas las lineas del script traspuestas, y no hace falta que ejecutes home_zone.sh, ese solo se usa para restablecer internet si se queda colgado con el comando "sudo ./home_zone.sh stop"
Ninoh-FOX escribió:
Hirobyte escribió:¿Me podéis echar una mano con esto? Os dejo una captura con mi problema: https://www.dropbox.com/s/g9mzdkjjw4bl9 ... 818%29.png

No seáis muy duros con mi idiotez ^^U


que raro, es como si tuvieras todas las lineas del script traspuestas, y no hace falta que ejecutes home_zone.sh, ese solo se usa para restablecer internet si se queda colgado con el comando "sudo ./home_zone.sh stop"


Esto se debe a que has dejado espacios al principio de cada línea del script. Bórralos, de manera que el texto quede a la izquierda del todo, y vuelve a probar.

Un saludo
Por si alguien tiene problemas usando Ubuntu 12.04, yo lo he conseguido instalando los paquetes:
sudo apt-get install rfkill hostapd dnsmasq-base

He instalado "dnsmasq-base" en lugar de "dnsmasq" porque tenía algún conflicto con el network manager (que usa su propio dnsmasq). Con estos paquetes y el fichero de configuración del paso 5 todo funciona perfecto, aunque no todas las tarjetas wifi son compatibles con hostapd. Podéis probar si la vuestra lo es siguiendo este enlace:
http://nims11.wordpress.com/2012/04/27/hostapd-the-linux-way-to-create-virtual-wifi-access-point/

Un saludo!
Shininchi escribió:Por si alguien tiene problemas usando Ubuntu 12.04, yo lo he conseguido instalando los paquetes:
sudo apt-get install rfkill hostapd dnsmasq-base

He instalado "dnsmasq-base" en lugar de "dnsmasq" porque tenía algún conflicto con el network manager (que usa su propio dnsmasq). Con estos paquetes y el fichero de configuración del paso 5 todo funciona perfecto, aunque no todas las tarjetas wifi son compatibles con hostapd. Podéis probar si la vuestra lo es siguiendo este enlace:
http://nims11.wordpress.com/2012/04/27/hostapd-the-linux-way-to-create-virtual-wifi-access-point/

Un saludo!


a mi me viene el dnsmasq-base instalado ya en mi 12.04, voy a desinstalar el otro a ver que pasa.
No sé que gracia tiene trampear los logros...
lágrimas escribió:No sé que gracia tiene trampear los logros...


no es trampear, es que desde que me compre la videoconsola, hace ya tiempo, solo me he cruzado con 12 personas. Es como ir a un punto wifi de nintendo pero sin moverte de casa.

Por cierto, lo de dnsmasq-base funciona bien, pero dejo el otro paquete por si a alguien le hace falta y no se vuelva loco.
(mensaje borrado)
He seguido el tutorail paso por paso y la primera vez me ha funcionado, me salia la red en la configuracion de la ds, lo que por mucho que me conectara no dejaba por que decia que la conexion fallaba.

Luego a partir de alli no me ha vuelto a salir la attwifi ni nada no hay manera he repetido los pasos 4 veces y nada. no se que puede fallar. y sobre la contraseña, no deberia de ir sin pass?
sssMABsss escribió:He seguido el tutorail paso por paso y la primera vez me ha funcionado, me salia la red en la configuracion de la ds, lo que por mucho que me conectara no dejaba por que decia que la conexion fallaba.

Luego a partir de alli no me ha vuelto a salir la attwifi ni nada no hay manera he repetido los pasos 4 veces y nada. no se que puede fallar. y sobre la contraseña, no deberia de ir sin pass?


Seguramente ya te ira bien:

hilo_ha-tocado-algo-nintendo_1941304
Lord_Gouki escribió:
sssMABsss escribió:He seguido el tutorail paso por paso y la primera vez me ha funcionado, me salia la red en la configuracion de la ds, lo que por mucho que me conectara no dejaba por que decia que la conexion fallaba.

Luego a partir de alli no me ha vuelto a salir la attwifi ni nada no hay manera he repetido los pasos 4 veces y nada. no se que puede fallar. y sobre la contraseña, no deberia de ir sin pass?


Seguramente ya te ira bien:

hilo_ha-tocado-algo-nintendo_1941304


ahhh yo pensaba que era yo el que lo hacia mal.... bueno esta tarde volvere a probar a ver si hay suerte

EDITO: Nada, no hay manera de que me funcione. Hago paso por paso tal cual pone en el tuto hasta el pasi 6 a partir del paso 6 nada. En la consola no encuentra nada y luego aunque arranque la red nada. Tambien me he dfijado que cuando arranco el script arriba antes de lo de EOL me pone esto:

EDITO: Solucionado, El problema era el driver de la tarjeta de wifi, he intentado usar el madwifi-tols pero me decia que la version del kernel no era compatible asi que alfinal lo he conseguido en windows. Muchas gracias por todo!
Buenas a todos!

Una pregunta... porque la cosa de poner contraseña? En el archivo "home_zone.sh" (que por cierto, no entiendo para que hace falta descargarselo si no se usa xD por lo que he podido ver no es más que la versión original de gbatemp, no?) para configurar la conexión, en lugar de poner contraseña WPA2, lo dejan en abierto, y así la consola se conecta automáticamente.

Configurándolo con la contraseña a mi no me funcionaba (no me aparecia ninguna conexión para poder poner la contraseña que yo había puesto, vamos). Así que he estado trasteando y poniendo solo esto:

echo "interface=${zone}" >> $tmpfile
echo "driver=nl80211" >> $tmpfile
echo "ssid=${ssid}" >> $tmpfile
echo "country_code=${country}" >> $tmpfile
echo "channel=1" >> $tmpfile
echo "macaddr_acl=0" >> $tmpfile
echo "auth_algs=1" >> $tmpfile
echo "ignore_broadcast_ssid=0" >> $tmpfile
echo "wpa=0" >> $tmpfile


en lugar de todo el tocho:

echo "interface=${zone}" >> $tmpfile
echo "driver=nl80211" >> $tmpfile
echo "ssid=${ssid}" >> $tmpfile
echo "country_code=${country}" >> $tmpfile
echo "hw_mode=g" >> $tmpfile
echo "channel=1" >> $tmpfile
echo "macaddr_acl=0" >> $tmpfile
echo "auth_algs=1" >> $tmpfile
echo "ignore_broadcast_ssid=0" >> $tmpfile
echo "wpa=3" >> $tmpfile
echo "wpa_passphrase=TU CLAVE WIFI" >> $tmpfile
echo "wpa_key_mgmt=WPA-PSK" >> $tmpfile
echo "wpa_pairwise=TKIP" >> $tmpfile
echo "rsn_pairwise=CCMP" >> $tmpfile


me ha empezado a funcionar. Así que de ahí mi pregunta... Porque poner contraseña, si (al menos en mi caso) la conexión "creada" ni siquiera aparece visible para poder entrar?
18 respuestas