Tuesday, April 5, 2011

The Basics #2: Port Forwarding

  -------------------- Port Forwarding  --------------------
Ok, so now you have a torrent client and you know how to download torrent files; however, when you download them, they go really slow or perhaps don't even download at all. This is most likely due to your router blocking incoming/outgoing traffic associated with the port your torrent client is trying to use. In order to fix this you must setup port forwarding on your router for the port in question.

*****If your torrents work fine without forwarding any ports, don't bother forwarding any ports! If it's not broken don't fix it. Also, I am not to be held liable or responsible if anything is to happen to your computer or router in the process of doing this*****

This is something you should try and remember how to do... It will come up a LOT in your future. Downloading slow torrents is just one example of a problem that can be solved by forwarding ports. Certain games require you to forward ports, a home-made server would likely require port forwarding, etc, etc...
Forwarding your ports requires knowledge of two things:
-which port your program/application is using
-what brand, and possibly model, of router you have

  -------------------- Getting the Information --------------------
To determine which port your application is using, typically just go to Edit->Preferences->Connection or something similar... Once you are there, it should let you know what ports it is currently trying to use(there should also be a button that says "check port" or "test port" which will tell you if that particular port is open or not, i.e if port forwarding is enabled on that port already or not). Find your port number(for most torrent apps I've dealt with the ports used usually fall between 50,000 and 60,000) and write down or remember this port.
Now determine your router brand and possibly your model. Your model number is only needed if you don't remember the user name/password combo for your router (don't worry, it's usually guessable. Also, look underneath your router; sometimes when the default password is even remotely difficult, the username and password may be written on the bottom of the router(this is often the case if you are using a 2-in-1 modem/router from a cable provider such as Verizon). After you figure out your brand, determine the IP addresss of your router from the list below:

Linksys == 192.168.1.1
Netgear == 192.168.2.2
Belkin == 192.169.2.1
MAC Airport == 10.10.1.1 (only accessible through A Mac's Air Ulitity, typically not the browser)
Verizon == 192.168.1.1 (or a different IP which should be printed under router)

When you type that into your browser, you should be greeted with a pop-up box asking you for a user name and password. Try all the default passwords you know, including, but not limited to:
admin/pass
admin/admin
administrator/administrator
administrator/password
User/guest
admin/password1 (was verizons probably like 4 years ago)

*****If none of the methods I mentioned above worked for you for any reason, check out this site on how to port forward; it has step-by-step walk-throughs for each and every router brand and model. *****

 --------------------  How to actually forward ports  --------------------
Once you log in, find a section labeled "port forwarding" or maybe just "security" or "manage ongoing and outgoing connections". The router will then ask for your IP, a range of ports to allow, and what type of packets to forward (TCP, UDP, or both).
If you are running a windows machine, go to Run-> and type/choose(depending on version of windows) "cmd". Then type ifconfig all one word and hit enter. Your IP should pop up under eth0 if your usig a wired connection, wlan0 if your running off of WiFi.
Enter That IP as the IP the router is asking for. Then for the port range, just put the same port in both the port fields (so like 51,1337 - 51,1337), and then choose to allow Both UDP and TCP packets through the router on that port. Congratulations, your router is now allowing traffic to flow without any overhead on the port you specified. Torrent away.
Once again, if my instructions did not successfully forward the ports you needed, check out  www.portforward.com for an in depth walk through for port forwarding with Your specific router brand and model... Good luck!!

If you have any questions just leave a comment and I'll answer best as possible, thanks for your patience!

Sunday, April 3, 2011

The Basics #1: Torrents

Torrents!!! Odds are you know what torrents are, you've been using torrents since you came out of the womb, and you are seeding your entire porn collection right now, while downloading new House; and by House I mean porn. However, if you were not so fortunate as to be born with absolute knowledge of the universe, odds are you still fap to magazines and you have to continuously get new ones because they either get boring real quick, or all of the pages stick together... either way, torrents are the answer to your problems.
------------------------------ What is a Torrent? ------------------------------
A torrent is a file that contains meta data regarding  a specific file or files in question. It typically contains its name, size, other things, and most importantly it contains information about its whereabouts. The file.torrent will contain at least one tracker, which is a URL that points to a website which contains more tracking information. Ultimately, a torrent is a very very small file, maybe a few kilobytes or less which just contains information that a torrent client uses to find and download the torrent.
------------------------------ How Torrents work? ------------------------------
Torrents rely on the BitTorrent protocol. The BitTorrent protocol is a peer-to-peer (P2P) protocol in which seeders and leechers communicate with each other directly and exchange data. What makes torrents so unique is the way in which they utilize P2P file sharing. Let's assume that a large group of people (1000+) want to download a particular file that has just been uploaded by one BAMF (just one cool individual, if you don't know what BAMF stands for); in a classic P2P system such as Kazaa, Limewire, or Azerus, everyone would download from the individual that has a complete copy of the file. Once more people obtained completed copies, other people could download from them, but until other people successfully downloaded the file, the file could only be gotten from one person. Everyone trying to download a particular file from one source created a HUGE bottlenecking problem which could cause everyone to download at insanely slow speeds, or could possibly end up DOSing the uploader such that no one could get the file.
With BitTorrent, anyone with a completed file that they are uploading is considered a seeder because they are "seeding" (letting it sit on your computer and upload to others), whereas the people who are currently in the process of downloading a file are considered leechers because they are "leeching" (downloading) that file. Now, the fundamental difference with BitTorrent is that each file is broken down into a number of pieces (the actual number varies based off the size of the file in question), and any user can download different pieces from different people at the same time, even if the person they are downloading from has not finished downloading the entire file themselves. Simply put, leechers can leech from seeders, and leechers can also leech from other leechers. This allows for a much better distribution of bandwidth which avoids any hardcore bottlenecking problems.
------------------------------ Pros and Cons of Torrents ------------------------------
This also is the reason the BitTorrent protocol has become so popular amongst websites which distribute pirated software... it is extremely difficult for someone to determine what file I downloaded if I downloaded 5/200 pieces from source A, 20/200 from B, 1/200 from C, and so on and so on. The best part about this is that although I may not have the completed file, I can share what I have with other people who also may not have the completed file, but we can all download from each other and successfully obtain copies of the completed file in question even though technically there may never have been anyone seeding the file throughout the time I was downloading it; in other words, at any given point in time, no one may have a complete copy of a particular file, however all of the pieces are out there floating around such that it can be obtained. In theory, this is nice (and typically in practice it does work really well too), but it does depend on people seeding files, or at least uploading while they download. BitTorrent has created a new file sharing problem that is quite unique to torrents. The problem arises when people fail to seed the file they just downloaded or if a number of people aren't allowing uploading as they download (they aren't allowing anyone to leech from them). This will cause some pieces of the file to fall out of circulation (assuming there is no main seeder) which will result in you, and Everyone else that is leeching the file to get close to completion but stuck around 95-99% because a few pieces of the file are distributed to peers that either don't allow uploads or they finish downloading and don't seed
------------------------------ How-To Torrent ------------------------------
In order to download torrents you need two things: a torrent, and a torrent client.
Torrents themselves are typically found on websites because you can read reviews and ratings of the torrent in question. However, some torrent clients have a built in "search" feature that allows you to search for torrents that way for convenience... personally I would never download anything that way because you can't be 100% sure of its source and legitimacy.
Torrent Clients come in all shapes and sizes. If you are running a Linux distro such as Ubuntu (currently what I am using; highly recommended) it comes with the ability to handle torrents natively, with a bare-bones program called Transmission Client that will handle and manage your torrents for you. While this works, it looks really shitty and lacks key features I look for in a torrent client. If you are running Linux, I recommend getting a torrent client called Deluge.
$>sudo apt-get install deluge //if you are running Ubuntu
And if you are running any version of Microsoft Windows, I recommend you get a light weight program called uTorrent.
Once you have downloaded and installed a client, there are a few settings you may want to look for and enable if they are available to you.
*****Note: I am not responsible for any damages caused to your computer if you mess something up while installing anything, changing any settings, or browsing any of the following sites. I am also not responsible for the way in which you choose to use this torrenting software. I, of course, only using torrents to download 100% free and legal e-books. trollface.jpg******

If available, find and choose the following options:
- encrypt the steam of data (outgoing and ingoing) for your torrents.
- choose to ignore local bandwidth limits on your network.
- choose to carry out your torrent activity on Random ports.
- make sure you are uploading and at least seeding twice as much as you leech.
- set your download limit to unlimited (-1), and your upload limit high (~500Kbs).
- allow more active downloads if you download a lot of files at once.
- prioritize first and last piece of torrent, so that VLC or another media player you may have can at least attempt to play it for you if your anxious to see your porn.

Here are a few good sites to find torrents on:
The Pirate Bay - a classic, will never let you down. Also, they may be on the forefront of the legal battle of the intrawebz, so if your rich, donate.
IsoHunt - another classic; however, they used to be much much better until they got sued and had to revamp their site to become "isoHunt Lite"...
Kick Ass Torrents - a newer site, seems ok, but be weary of malicious files. Although often times I can find what I'm looking for on this site, if you search for "X09j34ioemrfi$#$f" it will consistently return like 3-4 files claiming to be EXACTLY what you searched for... ALWAYS read comments and check ratings before downloading any torrents.
h33t - A decent torrent site with plenty of filter options including HD and Anime
Demonoid - probably the best torrent site out on the web right now, and for a reason. It is a private torrent site that is invite-only, and you must maintain a positive seed-to-leech ratio otherwise your account will be closed. Comment on this article or get a hold of me and I'll consider giving you an invite. (Though I don't mind giving you an invite, I get penalized somehow if a person I referred has a negative seed/leech ratio, and I only get something like 1 inivite per month, so forgive me if I am unable to give you one).
What.CD - the most exclusive and best torrent site for everything music. This website only deals with music and typically keeps everything in FLAC (Free Lossless Audio Codec) which is extremely inefficient as far as compression is concerned but is the highest quality possible since nothing is compressed at all. This website is also invite only and I actually lost my account due to inactivity (what can I say... I don't listen to a whole lot of music... *shrug*).

If there are any better torrent clients you know of or personally use, or any torrent websites that are really good as well, please leave a comment and let me know, I would love to find new sites and test new clients. Thanks!

Saturday, April 2, 2011

Hello, here is the game plan.

Soooooo I've done it. I've conformed. I sold my soul, and now I am.... I am... a blogger *crowd gasps, I sigh*... It's ok though, I'll admit I've always been a hater (on blogging), but in reality I probably was just hating change, or the fact that no one would follow my blog if I created one. Who wants to listen to my fat a$$ anyways... (does it matter if I curse on my own blog? I'm assuming it won't bleep out bad words because this is America and we have Freedom of Speech and blah blah blah who cares lol).

What I'm actually trying to say, is that I now have a blog and I plan to use it to record all of my computer endeavors whether they be hardware or software. My blog will consist of a bunch of how-to tutorials on setting up and using certain software, while possible including a few on building a custom desktop computer from scratch or upgrading one instead. These tutorials will start with the most basic of basic how-to's such as how to use torrents and how to burn Images (.iso not .jpg or any other type of pictures) and slowly lead up to how to install and use Ubuntu and what all can be done with Ubuntu. My goal is to have a site laid out such that someone could follow through the tutorials and successfully have a computer setup similar or identical to mine right now, and then they could proceed to read my more advanced tutorial's on how to crack WEP encryption in 5 minutes or how to reverse a binary file.

I will start out with very very basic tutorials that explain how to torrent a file, how to port forward for games or better torrentig performance, and how to burn an image file. Then these skills will be used to install Linux on your machine, and then I will explain everything you need to know about Linux. Finally I will discuss everything I know how to do in Linux and the current things I am currently learning how to do.
I am a hacker from the University of South Florida with a Bachelors Degree in Computer Science. I am very interested in computer security and am currently learning x86 32-bit assembly language while completing "gera's insecure programming" buffer overflow challenges; welcome to my world... Let's begin.