How do i get started hacking?
What tools do I need?
Script writting tutorial
So what is a shell account anyway?
Q:What is a shell account?
A:Ok...I think I won't be needing to explain what an account is, but let's talk about the shell. You probably are using Windows, so your shell is command.com and all that cute (crashing) Graphic environment. Being more precise a shell is the program that translates and sends your commands to your system's core. This happens because the core doesn't understand the commands you give. For example, when you type "cd ..", this command will be first translate to a low language level by the shell and just after that, sent to the core (or your CPU would drive mad). Do you imagine how painful would be using a computer if you hadn't a shell? You needed to use a low language level, like assembler or even worst (binary) to do something. If you wanted to do "cd .." you would have to write a bunch of push mem put mem blabla mem or a huge list of 00101010. Do you really think that this would work with people? I don't think so. Ok..Ok.. There are many persons that code in assembler, but I'm talking about ordinary people.
Q:So you are saying that a shell is just a "thing" that translates my inputs to the core, like command.com. But why do I want to connect to a remote command.com, I've got my own in my box.
A: People like Shell Accounts because you don't connect to a Windows box, but to a *nix box. If you can't have linux or any other *nix System at home, you could get a Shell Account, and start playing with linux like if it was in your own box.
Q:My friend is a *nix guru and he told me that some shells suck because they are restricted what's that?
A:There are two kind of shells, the restricted shells and the non-restricted shells. The difference between both is that usually restricted shells aren't rented, they are free shells, but in those shells you can't execute every command you want (for example, using a free shell they can keep you out of dig, nslookup and telnet programs). On the therhand using non-restricted shells, you can run any command you want but these kind of shells are paid (sometimes universities give non-restricted shells to the students). Hey, but even if you have a restricted shell don't be worried, some of them are really good.
Q: So you are saying that I can get a shell without paying for it?
A: Yes you can. For me the best place is at nether.net (other host that is a free shell provider is freeshell.org), I'll guide you through the all process later. Sometimes ISPs also give shell accounts to their users, so you may have already a shell account and you don't know, phone to yours ISP's Support and talk with them.
Q: I phoned my ISP asking for a shell account, and they asked why did I want one. What should I say?
A: Just tell that you really love to surf with Lynx, and that you want to learn Unix. That should do. If they hang up, just go for the free shells.
Q: Hey I've got a shell, but how can I know if it's a good shell?
A: I think the answer is relative, it depends from the person who answer, for me the things that make a good shell are listed below.
-> Telnet (terminal emulator)
This doesn't mean that a good shell for you needs to have this. For you a good shell could be just a shell that allows you to telnet, like I said it's very relative. But if your shell account doesn't let you use telnet, FTP and GCC, you should get other shell account.
By now you should be getting bored of reading stupid questions, and even more stupid answers, so let's get in another section. Let's talk a little about the flavours of Shell Accounts.
There are may kinds of shell accounts, some of them are what we call home made shells, other are the "standard" shell. Let's talk about the "standard" shells.
Just for your information
Home made shells are shells that are made by the
sysop that owns the system,
Like I said there are plenty of shells.You've got:
-> shell: Bourne Shell
Each shell has their strong and weak points. For example the Cshell allows you to type in C commands like if it were normal commands, that means that if you type printf Hello it will be the same as echo in other shells(for the ones who don't know C language, printf stands for printing in the screen the input given). I won't explain the strong and weak points in each shell, you should be the one doing that. Just get them at free shell providers at start exploring. The only hint I'll give you is that Bash is the best shell for beginners, if you want a more powerful shell just go to the C shell. Start with bash, explore the system, learn some bash scripting, then start using other shells. Talk with your friends that have others shells, ask what they think about it, you're getting the idea, aren't you?;) If you already have one shell and doesn't know which shell is it, just type in echo $shell and it will probably be shown your shell's type. Since this is a quick view, I'll end here. Gonna help you getting a real cool shell account.
------ Accessing nether.net ------
Step 1. (Getting your terminal emulator ready to roll)
Open your telnet program, you can find it in windows directory under the name telnet.exe
Now that you are probably looking to the Telnet Window, select the Connect menu, and in that menu select Remote System. It will show another box asking you for the hostname, port, and term type. Fill those fields with the information below.
You wait a little and...
------ Getting the account ------
Step 3. (Logging in)
Now you should be looking at the nether.net banner. That says:
New to the system? Login as newuser
Now, like they say, use newuser as login. A program called newuser will start, helping you creating an account.
After a bunch of crap, the newuser program will ask you to Customize keys. The default keys are in brackets. If you want you can choose any other. The ^H stands for the delete key (the one that has the <- symbol on it), and the ^C stands for ctrl+c. Attention: don't write ^H or ^C, just press the keys and that will be the output.
After you customize the keys you'll be asked to enter your terminal type, you can select ? and the program will print you all the terminals supported by it, but you should select vt100 or just press enter. Pressing enter the program will assume that your terminal is a dumb terminal. There is no problem to select the dumb terminal because you can change it later.
It will be asked things like your full name, phone number, birth date, sex, blah blah, you're getting the idea. If you want you can just put a . and press enter. You can also give fake information, I think that 98% of the users at nether.net did that. In the end of all the questions you'll be asked if you want to hide the information from other users. Just say yes or no, I suggest you to say yes.
Now it will be shown a list with the legal shells, just select one, like I said before if you are new to shell accounts choose bash shell.
Just select your login, like always 8 chars is the max length.
Select a password, it will be asked two times to see if the password is correct. You can change the password later using the password command later.
Step 10. (Accepting Choices)
At this time you should be looking to something like:
full name: Full Name
Type "help" for a list of things you can change.
Select things to change or "done"?
Now if you agree with all the data just type done and press enter, or if you want to change something just type the field you want to change.
Now the program is checking if there is already your username, you should be seeing a bunch of numbers scrolling, it's normal don't get scared... Now if your Login name already exists you will be asked for another, if it doesn't then the system will encrypt your password, and you'll stay for some time watching a bunch of numbers scrolling. After that....
Yep you've got a shell account, now you should be again in the login sequence and your login name is already written, just type in the password, press enter, and have fun.Remember that you can have as many shells as you want, so if you want you can login again with newuser but instead of choosing a bash shell choose a Cshell and all the others or a shell bash again...
Hi won't talk about of every command that exists in *nix systems, if I did that the file would become huge. If you want to a big amount of information about commands check the final notes section. The basic commands are listed below with their function.
Syntax: command [switches] -> description
man [command] -> display the manual entry about the [command] you gave.
cd [directory] -> like in DOS it changes your current directory, to go one directory up you also use .., if you want to return to your home directory just type cd without the [directory] parameter.
ls [-al] -> ls makes the same as dir in DOS, it lists every file in the directory, the -al is some of the switch you can use. Using this two switch the listing will be displayed with hidden files, file permission, group and owner. To know all the other switches man ls.
cat [file] -> it's the same as the command type
in DOS, it displays the
logout -> Logs you out from your shell account.
who -> Shows who's online, with information about those users. There are programs that make you invisible to the who command, but that's another story, probably in another tutorial.
ps [-aux] -> ps shows every procedure that is running, something like ctrl+alt+del in windows (not to reboot, but to show what's running) but much more powerful since it isn't known how we can run a program without being display in ps. If you run ps with no switches it will just show your own processes, if you use the switch -aux it will list every process that is running in the machine.
joe [file] -> joe is a text editor, it edits or creates the [file] given.
Sometimes the shell providers haven't joe but they should have vi (another text editor).