Home >Common Problem >How to learn hacking from scratch

How to learn hacking from scratch

(*-*)浩
(*-*)浩Original
2019-05-13 11:13:54117524browse

What is a hacker?

Decades ago, when the first time-sharing minicomputers were born and the ARPAnet experiments were just launched, there was a cultural community composed of programming experts and Internet celebrities with the characteristics of sharing. Members of this culture coined the term "hacker." Hackers built the Internet. Hackers invented the UNIX operating system in use today. Hackers make Usenet work. Hackers make the WWW work. If you are part of this culture, if you contribute to this culture, and other members of this community know you and call you a hacker, then you are a hacker.

Recommended course: Python Tutorial.

How to learn hacking from scratch

#The hacker spirit is not limited to the hacker culture of software. There are people who approach other things, like electronics and music, with a hacker attitude -- in fact, you can find it at the highest levels of any scientific or artistic endeavor. Software-savvy hackers admire their counterparts in other fields and call them hackers - some claim that hackers' nature is absolutely independent of the specific field in which they work. But in this document, we focus on the techniques and attitudes of software hackers and the cultural tradition of sharing that invented the term "hacker."

There is a group of people who loudly claim to be hackers, but they are not. They are people (mainly teenagers) who deliberately damage computer and phone systems. Real hackers call these people "crackers" and disdain to associate with them.

Most real hackers think that hackers are lazy, irresponsible, and not very capable. Acting specifically for the purpose of breaking someone else's security doesn't make you a hacker any more than using wire to steal a car makes you an automotive engineer. Unfortunately, many journalists and writers tend to mistake "hackers" for hackers; this practice continues to annoy real hackers.

The fundamental difference is: Hackers do construction, hackers do destruction.

If you want to become a hacker, please read on. If you want to be a hacker, read the alt.2600 newsgroup and go to jail five to ten times after realizing you're not as smart as you thought you were. That's all I have to say about hackers.

The attitude a hacker should have

Hackers solve problems and build things, and at the same time they advocate freedom and selfless two-way help. To be recognized as a hacker, you have to act as if you have this attitude. And to act as if you have this attitude, you have to actually hold on to it.

But if you think that cultivating a hacker attitude is just a way to gain recognition in hacker culture, you are totally wrong. It's important for you to be the kind of person who possesses these qualities - it helps you learn and provides you with a steady stream of motivation.

As with all creative arts, the most effective way to become a master is to imitate the spirit of the master - not only intellectually, but also emotionally.

Perhaps, the following modern Zen poem explains this meaning well:

To follow the path: (along such a path:)

look to the master, (Looking for the master,)

follow the master, (Follow the master,)

walk with the master, (与Master pass,)

see through the master, (insight master,)

become the master. (become a master.)

Well, if you want to be a hacker, read the following things over and over again until you believe them.

If you want to become a hacker, what abilities do you need?

1. Learn how to program

This is of course the most basic hacking skill. If you don’t know any programming language yet, I suggest you start with Python. It has a clear design and complete documentation, making it suitable for beginners to get started. It's a great language to get started with, and it's more than just a toy; it's very powerful, flexible, and suitable for large projects. I have a Python review detailing this. Good tutorials are available on the Python website. (Translator: A better Chinese Python site may be http://pythonrecord.51.net)

Java is also a good introductory language. It is much harder than Python, but the code generated is also much faster. It is also an excellent computer language, not just for getting started.

But note, if you only know one or two languages, you will not reach the technical level required by a hacker, or even a programmer - you need to learn how to think in an abstract way Programming problems, independent of any language. To be a real hacker, you need to learn to quickly master a new language in a few days through a few manuals, combined with what you know now. This means you should learn several distinct languages.

If you want to do some serious programming work, you will have to learn C language, the core language of Unix. C is very similar to C; if you know one, it shouldn't be difficult to learn the other. But both of these are not suitable for beginners to learn programming. And in fact, the more you avoid programming in C, the more productive you will be.

2. Get an open source Unix and learn to use and run it

UNIX/LINUX operating system is written in C language and is the most powerful computer language. Developed by Dennis Richie in the 1970s.

Yes, there are other operating systems in the world besides Unix. But they are all released in binary form - you can't read its source code, and you can't modify it. Trying to learn hacking on a machine running DOS or Windows or MacOS is like learning to dance with shackles on your feet.

In addition, Unix is ​​also the operating system of the Internet. You can learn to surf the Internet without knowing Unix, but you can't become an Internet hacker without knowing Unix. As a result, today's hacker culture is very much Unix-centric. (This isn't always true, and some early hackers have been unhappy about it, but the connection between Unix and the Internet is so strong that even Microsoft can't help it.)

So , install a UNIX - I personally like LINUX but there are others (yes, you can install both Linux and DOS/Windows on the same computer). Learn it, use it, configure it. Use it to surf the Internet. Read its source code. Modify its source code. You'll get better programming tools (including C, LISP, Python and Perl) than on Microsoft operating systems. You'll have a lot of fun and learn more than you were aware of before you became a master.

(Note: If you are a newbie, I do not recommend installing Linux or BSD independently. If you want to install Linux, seek help from the local Linux user group; or contact the Open Projects Network. LISC maintains some IRC channels, You can get help there.)

3. Learn how to use the WWW and write HTML

Most of the things built by the hacker culture work in places you can't see, helping factories and offices and the university functioning normally, on the surface it is difficult to see its impact on the lives of ordinary people who are not hackers. The Web is a big exception. Even politicians agree that this big, shiny hacker toy is changing the world. For this reason alone (and many others), you need to learn to master the Web.

This doesn't just mean how to use a browser (everyone can), but learning how to write HTML, the markup language of the Web. If you don't know how to program, writing HTML will teach you some thinking habits that will help you learn. So, start by completing a homepage. (There are many good tutorials online; this is one.)

But just having a homepage doesn't make you a hacker. The Web is full of various web pages. Most of it is meaningless, zero-information garbage - garbage with a stylish interface, mind you, the level of garbage is similar (visit The HTML Hell Page for more information).

To be valuable, your page must have content - it must be interesting or helpful to other hackers. This is what the next topic is about...

4. If you don’t know practical English, learn it

This is absolutely true. Around 1991, I learned that many hackers use English in technical discussions, even when their native languages ​​are the same and English is just a second language for them; according to reports that I know, English currently has more users than other languages. It has a much richer technical vocabulary, so it's a pretty good tool for the job. For similar reasons, translations of English technical books are often unsatisfactory (if they are translated at all).

Linus Torvalds, a Finn, comments his code in English (obviously this is no coincidence for him). His fluency in English has been an important factor in his ability to manage the global Linux developer community. This is an example worth learning from.

So, as a novice, how should I start learning?

1. How computers work

To complete this part of basic learning, you have many starting points to choose from. You can choose to start from using computers regularly, or you can start from tomorrow. Start by choosing a programming language to learn (note here: novices may not understand what languages ​​there are and can easily get confused), or go to some forums, or buy a book. There are many starting channels, it depends on which one you choose.

I suggest that you start with a programming language first, and you must stick to it. Don’t give up when choosing a programming language, and learn it from beginning to end. I don’t recommend languages ​​here. You can slowly learn about them yourself and choose the one you like. (It is normal to feel confused during the understanding process)

But this is only part of it, there is also some hardware knowledge that you may need to understand. For example, what is a von Neumann structure? As a novice, you can be less half-hearted. It is safest to first learn the most important things that predecessors have taught you, and then expand on them.

As we all know, computers are machines composed of software and hardware. The hardware is a track and the software is a sports car. The sports car runs on the track to form the display of various data styles. This is a visual example, which is different from the real hardware and software, but in order to understand it in the early stage, it is necessary to give up the precision and seek roughness.

My suggestion above is to start learning from programming. From a broader perspective, start with software. Because the hardware has been designed and completed, it has little to do with how you operate the computer. A person who understands hardware You may not be very good at computer operation, because your goal is to hack, to control the work of the computer, not to build the computer, so software takes precedence over hardware.

Therefore, find a programming language and stick to it, absolutely stick to it (I am referring to people who want to become hacker masters. If your goal is to make a small intrusion, know something about computers. The basic working process is not necessary). After learning a language, you will make a lot of progress. Only then will your thinking be clear, and you will understand what I am talking about today. As for which language to learn, I have said before that I cannot recommend it. You must explore it yourself.

2. Computer network basics

When you can program in a language, you will have a deep understanding of how the computer works. Any software running on the computer and Programs (how does it run, why can it run? These potential questions will be easily solved in the process of learning. Remember the boundaries of your problem at this time, and don’t expand the boundaries of your questions too much), some installation packages, etc., you all know what they are for. .

Then it is easy to learn "network protocols", a collection of all software programs.

The essence of a network protocol is a program. Its function is to allow computers to communicate with each other, with a little added security.

After you finish studying the working principles of computers in the previous part, learning this part will be very easy. But it is absolutely important, because the influence of hackers mainly comes from the Internet. Without a widely interconnected Internet, hackers can only control the computer in front of them, but cannot control and attack remotely. Learning computer networks will let you understand the key points of hacker attacks. There are many remote ways, and most of the greatness and mystery of hackers is also given by the Internet.

3. Hacker Basics

Hacker Basics is prepared for people who still don’t know how to invade and carry out hacking projects after learning the above two basics. Generally, there are hackers After a talented person has learned the above two parts, he will know how to use computers to enter other computer systems through the network, steal information, etc.

If you haven't figured it out yet, then you need to learn the basics of hacking. There are a lot of books written by seniors in this area, and you can quickly understand the systematic combing of the experiences of seniors. It will put you into a different thinking mode.

The above is the detailed content of How to learn hacking from scratch. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn