Free Internet Satellite Downstream / Downlink
The following information are for educational purpose only. Use it at your own risk.
It's meant to show that you can get free internet downstream from satellite and use them as you would use internet connection, that is: browsing, chatting, etc, not just for grabbing files.
Requirements
- Linux with DVB card and LinuxTV drivers, if you don't know how to set this up, go to
http://linuxtv.org/
- linuxtv-dvb-apps-1.1.1.tar.gz (get it on
http://linuxtv.org/)
- tcpdump
- wget
- An upstream connection with anti-spoofing disabled (read ip spoofing), if you don't know about this you can still try it and see if it'll work
- Point the dish to satellite with downstream internet connection (I can't say which satellite mine pointed to as I believe this is very sensitive information)
Locking With Transponder
You need to know the frequency, polarization, and symbol rate of the transponder.
(Maybe by asking a friend with subscription to a downstream provider for this information......)
First, save the information to a file:
# echo inet:[frequency]:[polarization -- 'v' or 'h']:0:[symbol_rate]:0:0:0:0 > chan
Lock the DVB with 'szap' from linuxtv-dvb-apps package:
# szap -c chan -n 1 -l 5150
5150 are for C-Band, change it if you use other Band, read szap usage.
Choosing Internet PID
By this time I assume you have already set the necessary requirements and can run the command 'dvbtraffic' successfully on the box.
# dvbtraffic
This will show you a list of PIDs and their current bandwidth.
Choose a PID from the list, you want to choose one with very fluctuating bandwidth, because that's more like an internet PID, not an audio/video PID.
Configuring Interface
Run this command, enter the PID as hex (add '0x' in front of the PID)
# dvbnet -p [PID]
You should get successful status report.
Note the newly created interface name, it would say something like 'dvb0_1'.
And enter the following command in one line because you need to delete routing for the interface as fast as you can, cause I believe something bad will happen if you don't
# ifconfig [interface_name] 64.0.0.0/2 promisc; ip route del 64.0.0.0/2 dev [interface name]
We have just set the interface to accept every IP in this world.
Obtaining IP Address
It's time to see if the data flowing to the interface are indeed internet downstream, if so then you'll see IP addresses scrolling on your screen as you enter this command:
# tcpdump -q -n -i [interface_name]
Don't see any IP address? Try another PID. Before you created another interface, delete the current one:
# dvbnet -d [interface_number]
Get the interface number from the name's part (ie. for dvb0_21, 21 is the number)
So you see IP addresses flowing as you tcpdump the interface, great.
Choose an IP from the right side of the line. You don't want to use network and broadcast adresses. The downstream provider that I tested on used /29 network (255.255.255.248), so in my case to calculate network and broadcast addresses:
Assume I got IP address 123.4.5.67 from the right side of the line.
/29 network have 8 addresses, the 1st one for network, the next 6 for hosts, and the last 1 for broadcast.
So I divide 67 with 8.
67 / 8 = 8.375
I took the .375 part and multiply it by 8
0.375 x 8 = 3
That means .67 is the 3rd address from the 8 possible addresses, which means the 3rd host, it's safe to use. You don't want to use the 1st and the 8th address as they are the network and broadcast address.
The counting begins from zero, so 0 is the first address (the network address), and 7 is the eight address (the broadcast address).
SNAT
To use the downstream, we have to use the IP we got before as our source address.
Assume your upstream provider connected to interface eth1.
Enter the command below to use the downstream IP.
# iptables -t nat -I POSTROUTING 1 -o eth1 -j SNAT --to 123.4.5.67
This is the part where your upstream provider must not activated anti-spoofing, if so then you can't use source IP address other than the one they gave you.
Testing The Connection
Just run the following command and see if it work:
# wget
www.yahoo.com
Does it successfully download the document from above website? If so continue to test on the graphical browser and see if it successfully download the document. If not then just use another IP, or PID.
Remember, this is for educational purpose only, to bring up the flaw so netadmin will do something about it.
Don't use the downstream and it's IP, someone are paying for it.