What is a hacker? What do you need to learn to become a hacker?

what is a hacker

        There are quite a few definitions of "hacker" in the "Hacker Dictionary", most of which are related to descriptions such as "skilled in technology" or "willing to solve problems and go beyond the limit". However, if you want to know how to become a hacker, just keep two things in mind.
        It's a community and a culture of sharing that goes back decades to the groups that used the original shared minicomputers and the earliest "Arpanet"professional programmers and network experts. And such a group of people are called "hackers". Hackers built the Internet, hackers made the Unix operating system what it is today, hackers run discussion groups, hackers keep the World Wide Web running. If you are part of this culture where you make your contribution and let other people know you and call you "hacker", then you are a hacker!
        However, the hacker spirit is not confined to the category of "software hacker". There are a lot of people who have applied the hacker spirit to other fields, such as electronics or music - in fact, you can find the shadow of the hacker spirit in the highest state of all science and art. Because of this common spirit, software hackers also call the latter "hackers"—some even think that the hacker spirit exists independently of the hacker's work. But in the following articles, we will focus on the skills and attitudes of software hackers, and the tradition of the "shared culture" that enables them to be called hackers.
        And there's another group of people who always claim to be hackers, but they're not. These people (mostly young people) hack into other people's computers or disrupt communication systems. Real Hackers Call This Group " Hackers "And draw a line with them. Real hackers mostly think of hackers as lazy, irresponsible, and unwise. Being able to breach a security system doesn't make you a hacker any more than being able to steal a car makes you an automotive engineer. Unfortunately, many journalists and writers have been misguided to use the word "hacker" to describe "hackers," and this will forever irritate real hackers.
        The fundamental difference is this: Hackers create things , hackers break things .
        Read on if you want to be a hacker. If you just want to be a hacker, go to a discussion group and be prepared to go to jail for five to ten years when you find out you're not as wise as you thought. That's what I have to say to hackers.
 

hacker attitude

        Hackers solve problems and create things, they believe in freedom and mutual assistance. To be accepted as a hacker, you need to show that you have that attitude, and to show that you have that attitude, you need to actually believe in that attitude.
        And if you think that developing a hacker attitude is just a way to fit into the hacker culture, you're wrong. It is very important for you to really believe in this - it will help you learn and keep you motivated. Like all artistic creations, the most effective way to become a master is to follow the master's mind - not only the intellect, but also the emotions!
        The following modern Zen poem illustrates the problem:
      
        Follow this method:
        admire the master,
        follow the master,
        match the master,
        surpass the master,
        and become the master.

        So, to become a hacker, read the following points over and over until you remember them and believe them.

1. There are countless wonderful problems in this world waiting for us to solve.
        Being a hacker is a lot of fun, but behind the fun comes a lot of hard work. Effort requires motivation. The motivation of an excellent athlete often comes from a natural sense of accomplishment in the movement of one's own body and beyond one's own limits. Just as a hacker should derive joy from solving problems, honing his skills, and wielding his wits.
        If you're not that kind of person, then in order to be a hacker, you have to make yourself that kind of person. Otherwise you may find that your passion for hacking is slowly being drained by things like sex, money, and social values.
        (You also need to develop a belief in self-learning ability - a belief that even if you can't solve all the problems now, if you can solve even a small part of the problem and learn from it, then you can learn enough to solve it Next small part of the problem - until the whole problem is solved.)

2. No problem should be solved twice
        Creativity is a precious and limited resource. There are so many novel problems waiting to be solved in the world, creativity should not be wasted in the cycle of "reinvention".
        To be a hacker is to trust that the thinking time of other hackers is so valuable—that sharing information is a moral obligation on your part. Solve problems and give solutions so that other hackers can solve new problems instead of staying stuck on old problems forever.
       Note, however: "No problem should be solved twice" does not mean that you consider the existing solution sacrosanct or that it is the only solution to the current problem. Often, when we encounter a problem we have never seen before, we learn a lot from the original solution to the problem. That's good, and often necessary, and it means we can do better. The bad thing is artificial technical, legal or institutional obstacles (such as closed source code), which prevent people from using an existing solution, and force people to fall into the vicious circle of "reinvention".
       (You don't have to feel obligated to publish all of your work - although the hackers who do will get the most respect from other hackers. Use them to make enough money to keep you on food, rent and computers - it doesn't matter Does not violate hacker values. Using your hacking skills to support a family or even get rich is a good thing - as long as you do it without losing sight of your allegiance to the art of hacking and to your hacker friends.) 3. Boring and tedious
 
work equal to evil
       Hackers—or some other creator—shouldn't be toiling away at boring or stupid repetitive tasks, because that means they're not doing something that only they can do—solve new question. This stupidity does no one any good. Therefore, boring and redundant things are not only bad for hackers, but even evil.
       To be a hacker, you have to believe in this concept and automate all the boring and tedious things as much as possible, not only for yourself, but for other people (especially other hackers).
       (Here's an obvious exception. Hackers sometimes do things that seem repetitive or boring to clear their minds, or to train some special skill and experience and have no other choice. But it's all up to the individual

4. Freedom is good Hackers
        are inherently anti-authoritarian. If someone can give you orders, he can also prevent you from solving problems that fascinate you-and based on this authoritarian mindset, he can always find some surprisingly stupid reasons to do so. So fight authoritarianism whenever and wherever you want so that you or other hackers don't get killed by him.
        (This is not the same as challenging all authority. Children need to be taught and criminals need to be suppressed. Similarly, hackers need to accept some authority rule, and the premise is that the profit from it should be more than the order of the ruler. But Everything should be limited and an equal contractual relationship. It should not be a dictatorial idea imposed on individual will.)
        Dictatorship relies on "censorship" and "secrecy". They are always suspicious of "voluntary cooperation" and "information sharing" - they only like "cooperation" under their control. So to be a hacker, you have to develop an instinctive hostility to censorship, secrecy, or the use of violence and deceit to oppress people. And you should act on that belief.

5. Attitude is no substitute for ability
        As a hacker, you should have the above attitude. But just having the right attitude doesn't make you a hacker, at most it makes you a great athlete or a rock star. Becoming a hacker also requires intellect, practice, dedication, and hard work.
        Therefore, you should always be skeptical and respect every ability. Hackers don't let a difficult question waste their time, but they worship ability - especially hacking skills, but any ability is valuable. Especially rare are the abilities that few have mastered, and nothing is better than a high degree of intelligence, skill, and concentration.
       If you respect ability, you'll be more than happy to exercise it—then hard work and selflessness will become an intense competition rather than a chore. This attitude is also crucial to becoming a hacker.

 

Basic Hacking Skills

        A hacker's attitude is important, but skill is even more important. Attitude is no substitute for ability, and there are some must-have skills and basic tools that anyone with aspirations of becoming a hacker should have.
       As time goes by, these tools are slowly learning new things. For example, some programs that used to be written in machine code are now written more in HTML. But obviously, you need to master the following:
 

1. Learn how to program

        This is of course the most fundamental hacking skill. If you are new to any computer language, I recommend starting with Python. It's clearly designed, well-documented, and very beginner-friendly. Although it is a very good beginner language, it is not a toy. It is very powerful and flexible, and suitable for developing large projects. I've written a more detailed "Python Review
", and more tutorials are available on
the Python website .         I also used to recommend Java as a language for early learning. but some critics


changed my mind. Hackers can't "fix problems like a plumber in a hardware store" as they say, but should know how every part works. Now I think it's better to learn C and Lisp first, then Java.
       There may be a very general problem here. If a programming language is too much for you, it can be an excellent programming tool but difficult to learn. This kind of problem is not unique to programming languages. Page application platforms like RubyOnRails, CakePHP, and Django can easily have a superficial understanding, but when you encounter a problem, you find it impossible to deal with it, even if it is a simple one. mistake.
      If you have strict requirements for programs, then you must learn C, the core language of Unix. And C++ and C are very similar, if you learn one of them, then there will be no difficulty in learning the other. However, neither is a good choice for beginners. And actually, the more you can avoid programming in C, the more productive you will be.
       The C language is very efficient and saves computer resources. Unfortunately, C achieves this "efficiency" by requiring you to do a lot of low-level manual resource (like memory) management. All this low-level code is complex and error-prone, and will take up a lot of your time to debug. Today, when machines are getting more and more powerful, this is not a wise trade-off - a wise choice should be to use a programming language to make the machine less efficient, and make your time more and more efficient. So choose Python.
        Other languages ​​that are important to hackers include Perl
and LISP
. The main reason why Perl is worth learning is that it is widely used in dynamic web pages and system management, so even if you can't write Perl programs, you should learn how to read Perl code. Many people choose Perl for the same reason I suggest Python, to avoid programming in C and make machines that don't need it more efficient. You should at least be able to understand their code.
        LISP is worth learning for a different reason - after you master it, you will receive some unexpected experiences and revelations. These experiences will make you a better programmer in the future, even if you don't use LISP often. (You can easily write LISP using the Emacs text editor
or GIMP 's Script-Fu plug-in.)         It is best to learn all five of these languages—Python, C/C++, Java, Perl, LISP. Important hacking languages, they represent completely different programming styles, and each has its own value.         But you should know that if you simply pile up these languages, you will not be able to reach the level of a hacker but just a programmer-you should learn how to use a thinking mode independent of any programming language Go plan your program. As a real hacker, you should be able to learn a new programming language in a few days, and you should know everything that is explained in the manual. This means you have to learn some very different languages.        It's impossible for me to fully describe how to learn programming here - it's a complex skill. But I can tell you that books and courses don't work. Many, if not most, good hackers are self-taught. You can only learn the basic features of language from books - that's all. The mode of thinking that integrates knowledge into nature can only be learned through practice and imitation . The only way to do this is to (1) read the code and (2) write the code .        Peter Norvig - one of Google's top hackers and one of the authors of the most widely used textbooks on artificial intelligence - wrote an excellent article "Teach Yourself to Code in 10 Years", where he "Secrets to Successful Programming "It is very noteworthy.






        Learning to program is like learning to write a natural language well. The best way is to read some things written by masters as a standard, and then write some things yourself, read more, write more, read more, write more... Repeat until your work It looks decent.
       Finding good code to read used to be difficult because there was very little code in large programs for novice hackers to read and think about. Now, a huge change has taken place: open source software, programming tools, and operating systems (all created by hackers) are now widely used. And that just so happens to lead me to our next topic...

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

        I'm assuming you own a personal computer or at least have access to one (take a moment to appreciate how precious this is. Hacker culture dates back to a time when computers were too expensive for individuals to afford). The first and most important step for every newcomer to hacking skills is to get a copy of Linux or BSD-Unix or OpenSolaris, install and run it on your machine.
       Indeed, there are many operating systems in the world other than Unix systems. But they are all released in binary form - you can't read the code in it, and you can't modify him. Trying to learn how to hack on a Windows or other closed source machine is like learning to dance while wearing armor.
       Learning on Mac OS X is still possible, but only part of the system is open source - you'll run into walls everywhere, and always be careful not to develop the bad habit of relying on Apple's proprietary code. If you concentrate on the Unix engine, you will learn a lot of useful things.
       Unix is ​​the operating system of the Internet. You can learn how to use the Internet without knowing Unix, but you can't become an Internet hacker after all. Because of this, today's hacker culture has a strong Unix core. (This isn't always true, and some early hackers weren't happy about it. But Unix's connection to the Internet is strong enough that Microsoft's claws aren't enough to weaken it.) So pick a Unix you
        like— - I personally like Linux, but there are other options (of course, you can also run Linux and Windows on the same machine at the same time). Learn it, run it, think with it, talk to the internet with it, read code, modify code. You'll have access to excellent programming tools (including C, LISP, Python, and Perl) that you couldn't even dream of getting on Microsoft's operating system, and you'll have a lot of fun doing it. When you look back when you become a master hacker, you will find that you have acquired more knowledge than you imagined.
       For more knowledge about Unix, see "Loginataka
". You might also want to check out The Art of Unix Programming
.
       If you want to get started with Linux, check out the "Linux Online
" site. You can download it from there or (perhaps better) find a local Linux user community Group to guide you how to install.
        In the first ten years of this guide, I always think that from a beginner's point of view, all Linux distributions are almost equivalent. After 2006-2007 During this period, a best choice was born: Ubuntu
. Any Linux distribution has its own advantages, but Ubuntu is the most popular choice for novices. You can find the guidance and source code of BSD Unix in
        the official website of BSD .        A good way to try this is to use what Linux fans call a LiveCD, which runs the system entirely on a CD without changing any data on your hard drive. This can be a bit slow, because CDs run slower, But it's a good way to test if you're comfortable with it all.        I also wrote an introductory tutorial to explain "Internet and Unix Basics ".        I used to be against newbies installing Linux or BSD alone. But today, The installer has gotten good enough that novices can do all the installations themselves. Still, I recommend you get in touch with your local Linux user community and ask for help. It doesn't hurt, and it makes everything easier smoothly.





3. Learn how to use the World Wide Web and write HTML

        Most of the things created by the hacker culture are hidden from people's sight. Building factories, offices, schools, etc. obviously have nothing to do with hackers directly. Only web pages are an exception, even politicians have to admit that this great and brilliant hacker toy has changed the world. For this reason alone (and of course there are many others), you should learn how to work on the Internet.
        It's not just about opening a browser (anyone can do that), it's about learning how to write HTML, the markup language for web pages. If you don't know how to program, HTML will teach you some habits to help you learn to program. So build a home page of your own, and stick to writing it in XHTML -- a more concise language than HTML of yesteryear. (There are plenty of tutorials online)
       But just having a home page doesn't make you any closer to being a hacker. The web is littered with homepages of all kinds, mostly pointless, non-technical crap—fancy-looking crap. Remember, trash is all the same. (See "HTML Hell" for more information.
)
        For your page to be valuable, it must have content -- content that is interesting and useful to other hackers. And that's what the next topic will be about...

4. If you don't know English, learn it.

      
      Back in 1991 I found out that many hackers communicated in technical forums using English as a second language. At that time, I realized that English has the most technical vocabulary than any other language, so it is also the best language for hacking. Translating technical books written in English is also often unsatisfactory for the same reason (although it has been done).
        Linus Torvalds, a Finn, comments his own code in English (which he apparently does without thinking about it). His fluent English is also an important factor in his ability to recruit volunteer developers from the Linux community around the world. This is an example worth following.
        I can't guarantee that you have a very practical hacking language. Many hackers (including myself) will ignore you if your writing is not fluent or riddled with typos. While sloppy spelling doesn't always mean sloppy thinking, there's usually a correlation between them—we don't need a sloppy thinker. If you can't write well yet, learn to write.

 

The State of Hacker Culture

        Just as many cultures have nothing to do with money, the Matrix is ​​built on fame. You are trying to solve some interesting problems, and whether the problem is interesting and whether your solution is excellent, these are often only your technical peers or experts have the ability to evaluate.
        So when you play this game of hacking, you need to know that your score depends mainly on what other hackers think of you (this is why you are not really a hacker until other hackers call you a hacker). This fact is often glossed over under the surface of hackers working alone, and the hacker culture's taboo (although this taboo faded in the late 1990s, still persists) admits that one's motivation can be swayed by outside perceptions.
       Specifically, the Matrix upholds what anthropologists call a "culture of dedication." You gain status and honor from it not because you lead others, nor because you are beautiful, nor because you have what others ask for, but simply because you give. In other words, you gave your time and creativity and gained skills.
        Here are five things you should do to earn the respect of hackers:
 

1. Writing open source software

       The first (the most core and most traditional) is to write some programs that other hackers find interesting or useful, and open the source code for the entire hacker community to use.
        (We often call this kind of thing "free software", but this will cause many people to wonder how to define this "freedom". So we now call it more "open source" software.
)
        In The most respected gods in The Matrix are those who write and release powerful programs that are widely needed for others to use.
        Here is a turning point in history. Although hackers always regard the open source developers around them as a strong core of the community, before the mid-1990s, most hackers were still doing closed source development work most of the time. When I wrote the first edition of this guide in 1996, this phenomenon was still common. It was after 1997 that open source software became mainstream. Today, "hacker community" and "open source developers" are two terms that describe the same culture and group—but it should be remembered that this was not always the case.

2. Help test and debug open source software

        Should serve those who represent and debug open source software. In this imperfect world, we inevitably spend a lot of programming time debugging errors. That's why open source software authors will tell you that a good tester (someone who knows how to describe problems clearly, can pinpoint misalignments, is tolerant of pre-version bugs, and is willing to make some simple diagnostics) is a good tester for them. It is more precious than gems. Some of them can even turn the whole debugging phase from a protracted and exhausting nightmare into a beneficial little annoyance.
       If you're new, find a program in development that interests you and try to be a good tester. It's a natural progression from helping test programs to helping with debugging to helping with modification. You'll learn a lot from it, and it will be rewarded later on by the people you help.
 

3. Publish useful information

        Another useful thing is to collect and filter interesting or useful information in pages or documents such as FAQs. and make them public.
       Maintainers of important technical questions and answers are treated with the same respect as open source authors.
 

4. Help maintain the operation of the infrastructure

        The hacker culture (and, for that matter, Internet engineering development work) cannot function without the participation of volunteers. To keep it running, there is a lot of necessary but boring work that needs to be done - managing mailing lists, policing newsgroups, maintaining large software archive sites, developing RFCs and other technical standards
.
        And people who do these things get a fair amount of respect, because everyone knows that these jobs consume a lot of time and are obviously not as fun as writing code. Make these to give.

5. Serving the hacker culture itself

        In the end, you can serve and spread the culture itself (like writing an article describing exactly how to be a hacker :-) ). Usually you don't have to, unless you already have a certain status and respect in the above four.
        To be precise, there are no leaders in hacker culture, but there are roles such as cultural heroes, elders, historians, or spokespersons. When you stay in this front long enough, you will become one of the above types of people. But beware: Hackers are very repulsed by elders who are too individualistic, so it is dangerous to pursue this reputation naked. Instead of pursuing these things strenuously, it is better to position oneself and face one's current position with humility and humility.

super hacker


This part of the content is still relatively far away for students with zero foundation, so I won’t go into details, and attach the learning route.

 

Of course, in addition to supporting videos, various documents, books, materials & tools have been sorted out for you, and they have been classified into categories for you.

Some video tutorials that the author bought by himself, but which are not available on other platforms for free.

 

If you want to get involved in hacking & network security, the author has prepared a copy for everyone: 282G the most complete network security data package on the entire network for free! Follow me directly and I will send it automatically

epilogue

The network security industry is like a river and lake, where people of all colors gather. Compared with many decent families with solid foundations in European and American countries (understand encryption, know how to protect, can dig holes, and are good at engineering), our talents are more heretics (many white hats may not be convinced), so in the future Talent training and In terms of construction, it is necessary to adjust the structure and encourage more people to do "positive" "system and construction" that combines "business" and "data" and "automation" in order to quench the thirst for talents and truly serve the society in an all-round way. Internet provides security.

Special statement:
This tutorial is purely technical sharing! The purpose of this tutorial is in no way to provide and technical support for those with bad motives! Nor does it assume joint and several liability arising from the misuse of technology! The purpose of this tutorial is to maximize everyone's attention to network security and take corresponding security measures to reduce economic losses caused by network security. ! ! !
 

Guess you like

Origin blog.csdn.net/2301_77152761/article/details/131514883