해킹을 처음부터 배우는 방법

(*-*)浩
풀어 주다: 2020-09-17 10:24:44
원래의
117471명이 탐색했습니다.

해커란 무엇인가요?

십년 전, 최초의 시간 공유 소형 컴퓨터가 탄생하고 ARPAnet 실험이 막 시작되었을 때, 공유의 특성을 지닌 프로그래밍 전문가와 인터넷 유명인으로 구성된 문화 커뮤니티가 있었습니다. 이 문화의 구성원은 "해커"라는 용어를 만들었습니다. 해커들이 인터넷을 구축했습니다. 해커들은 오늘날 사용되는 UNIX 운영 체제를 발명했습니다. 해커는 유즈넷을 작동시킵니다. 해커는 WWW를 작동시킵니다. 당신이 이 문화의 일부이고 이 문화에 기여하고 이 커뮤니티의 다른 구성원이 당신을 알고 당신을 해커라고 부른다면 당신은 해커입니다.

추천 과정: Python Tutorial.

해킹을 처음부터 배우는 방법

해커 정신은 소프트웨어의 해커 문화에만 국한되지 않습니다. 전자제품이나 음악 같은 다른 것에 해커적인 태도로 접근하는 사람들이 있습니다. 실제로 해커적인 태도는 과학이나 예술적인 노력의 가장 높은 수준에서 찾을 수 있습니다. 소프트웨어에 정통한 해커들은 다른 분야의 해커들을 존경하며 그들을 해커라고 부릅니다. 어떤 사람들은 해커의 본성이 그들이 일하는 특정 분야와 완전히 독립적이라고 주장합니다. 하지만 이 문서에서는 소프트웨어 해커의 기술과 태도, 그리고 "해커"라는 단어를 만들어낸 공유의 문화적 전통에 중점을 둡니다.

해커라고 외치는 사람들이 있지만 해커는 아닙니다. 그들은 고의로 컴퓨터와 전화 시스템을 손상시키는 사람들(주로 십대)입니다. 실제 해커들은 이런 사람들을 "크래커"라고 부르며 그들과 어울리는 것을 경멸합니다.

대부분의 실제 해커는 해커가 게으르고 무책임하며 능력이 별로 없다고 생각합니다. 다른 사람의 보안을 깨기 위한 목적으로 특별히 행동한다고 ​​해서 전선을 사용하여 자동차를 훔치는 것이 당신을 해커로 만들지는 않습니다. 불행하게도 많은 언론인과 작가들은 "해커"를 해커로 착각하는 경향이 있습니다. 이러한 관행은 실제 해커들을 계속해서 짜증나게 합니다.

근본적인 차이점은 다음과 같습니다. 해커는 건설을 하고 해커는 파괴를 합니다.

해커가 되고 싶다면 계속 읽어보세요. 해커가 되고 싶다면 alt.2600 뉴스그룹을 읽고 자신이 생각했던 것만큼 똑똑하지 않다는 사실을 깨닫고 감옥에 5~10번 가보세요. 이것이 해커에 대해 제가 말하고자 하는 전부입니다.

해커가 가져야 할 태도

해커는 문제를 해결하고 무언가를 구축하는 동시에 자유와 사심 없는 양방향 지원을 옹호합니다. 해커로 인정받으려면 이런 태도를 갖고 있는 것처럼 행동해야 한다. 그리고 당신이 이러한 태도를 갖고 있는 것처럼 행동하려면 실제로 그 태도를 고수해야 합니다.

하지만 해커로서의 태도를 키우는 것이 해커 문화계에서 인정받기 위한 수단일 뿐이라고 생각한다면, 완전히 틀린 생각입니다. 당신이 이러한 자질을 소유한 사람이 되는 것이 중요합니다. 이는 당신이 배우는 데 도움이 되고 꾸준한 동기 부여를 제공합니다.

모든 창작 예술과 마찬가지로, 대가가 되는 가장 효과적인 방법은 지적뿐만 아니라 정서적으로도 대가의 정신을 모방하는 것입니다.

아마도 다음 현대 선시는 이 의미를 잘 설명하고 있습니다.

길을 따르다: (그런 길을 따라:)

스승을 바라보다, (스승을 찾고,)

스승을 따르다, ( follow the master,)

walk with the master, (스승과 함께 지나가기 위해,)

see through the master, (스승에 대한 통찰력,)

be be the master. 해커가 되고 싶다면 다음 내용을 믿을 때까지 반복해서 읽어보세요.


해커가 되고 싶다면 어떤 능력이 필요한가요?

1. 프로그래밍 방법 배우기

이것은 물론 가장 기본적인 해킹 기술입니다. 아직 프로그래밍 언어를 모른다면 Python부터 시작하는 것이 좋습니다. 명확한 디자인과 완전한 문서가 있어 초보자가 시작하기에 적합합니다. 시작하기에 좋은 언어이며 단순한 장난감 그 이상입니다. 매우 강력하고 유연하며 대규모 프로젝트에 적합합니다. 이에 대해 자세히 설명하는 Python 리뷰가 있습니다. Python 웹사이트에서 좋은 튜토리얼을 볼 수 있습니다. (번역자: 더 나은 중국어 Python 사이트는 http://pythonrecord.51.net일 수 있습니다.)

Java는 입문용 언어로도 좋습니다. Python보다 훨씬 어렵지만 생성된 코드도 훨씬 빠릅니다. 또한 단지 시작하기 위한 언어가 아닌 훌륭한 컴퓨터 언어이기도 합니다.

하지만 한두 가지 언어만 알면 해커가 요구하는 기술 수준이나 심지어 프로그래머 수준에 도달하지 못할 것입니다. 프로그래밍 문제를 추상적인 방식으로 독립적으로 생각하는 방법을 배워야 합니다. 어떤 언어로든. 진정한 해커가 되려면 현재 알고 있는 내용과 결합된 몇 가지 매뉴얼을 통해 며칠 만에 새로운 언어를 빠르게 마스터하는 방법을 배워야 합니다. 이는 여러 가지 다른 언어를 배워야 함을 의미합니다.

중요한 프로그래밍 작업을 하고 싶다면 유닉스의 핵심 언어인 C언어를 배워야 할 것입니다. C++는 C와 매우 유사합니다. 하나를 알고 있으면 다른 하나도 배우는 것이 어렵지 않습니다. 하지만 이 두 가지 모두 초보자가 프로그래밍을 배우기에는 적합하지 않습니다. 실제로 C 프로그래밍을 피할수록 생산성이 높아집니다.

2. 오픈 소스 Unix를 다운로드하여 사용 및 실행 방법을 배웁니다.

UNIX/LINUX 운영 체제는 C 언어로 작성되었으며 Dennis가 개발한 가장 강력한 컴퓨터 언어입니다. 1970년대 라이허.

네, 세상에는 유닉스 말고도 다른 운영체제가 있습니다. 하지만 모두 바이너리 형식으로 출시됩니다. 소스 코드를 읽을 수 없고 수정할 수도 없습니다. DOS, Windows, MacOS를 실행하는 컴퓨터에서 해킹을 배우려는 것은 족쇄를 차고 춤추는 법을 배우는 것과 같습니다.

게다가 유닉스는 인터넷의 운영체제이기도 하다. Unix를 몰라도 인터넷 서핑을 배울 수 있지만 Unix를 모르면 인터넷 해커가 될 수 없습니다. 결과적으로 오늘날의 해커 문화는 Unix 중심적입니다. (항상 그런 것은 아니며 일부 초기 해커들은 이를 불만스러워했지만 유닉스와 인터넷의 연결은 마이크로소프트도 어찌할 수 없을 만큼 강력하다.)

#🎜🎜 #그래서 설치하라 a UNIX - 저는 개인적으로 LINUX를 좋아하지만 다른 것도 있습니다(예, 동일한 컴퓨터에 Linux와 DOS/Windows를 모두 설치할 수 있습니다). 배우고, 사용하고, 구성하세요. 인터넷 서핑에 사용하세요. 소스 코드를 읽어보세요. 소스 코드를 수정하세요. Microsoft 운영 체제보다 더 나은 프로그래밍 도구(C, LISP, Python 및 Perl 포함)를 얻을 수 있습니다. 당신은 마스터가 되기 전에 알고 있던 것보다 더 많은 즐거움을 누리고 더 많은 것을 배울 것입니다.

(참고: 초보자라면 Linux나 BSD를 독립적으로 설치하는 것을 권장하지 않습니다. Linux를 설치하려면 로컬 Linux 사용자 그룹에 도움을 요청하거나 Open Projects Network에 문의하세요. LISC는 도움을 받을 수 있는 일부 IRC 채널을 유지합니다. )

3. WWW 사용 및 HTML 작성 방법을 알아보세요.

해커 문화가 구축하는 대부분의 작업은 가능한 곳에서 발생합니다. 공장, 사무실, 대학이 정상적으로 운영되는 데 도움이 되지만 표면적으로는 해커가 아닌 일반 사람들의 삶에 미치는 영향을 보기가 어렵습니다. 웹은 큰 예외입니다. 정치인들조차도 이 크고 빛나는 해커 장난감이 세상을 변화시키고 있다는 데 동의합니다. 이러한 이유만으로도(그리고 다른 많은 이유 때문에) 웹을 마스터하는 방법을 배워야 합니다.

이것은 단지 브라우저 사용법(누구나 가능)이 아니라 웹의 마크업 언어인 HTML 작성 방법을 배우는 것을 의미합니다. 프로그래밍 방법을 모르는 경우 HTML을 작성하면 학습에 도움이 되는 몇 가지 사고 습관을 배울 수 있습니다. 그럼, 홈페이지를 완성하는 것부터 시작해 보세요. (온라인에는 좋은 튜토리얼이 많이 있습니다. 이것이 하나입니다.)

하지만 홈페이지만 있다고 해서 해커가 되는 것은 아닙니다. 웹은 다양한 웹 페이지로 가득 차 있습니다. 그것의 대부분은 무의미하고 정보가 전혀 없는 쓰레기입니다. 세련된 쓰레기입니다. 쓰레기의 수준은 비슷합니다(자세한 내용은 HTML 지옥 페이지를 참조하세요).

페이지가 가치 있으려면 콘텐츠가 있어야 합니다. 페이지는 다른 해커에게 흥미롭거나 도움이 되어야 합니다. 다음 주제는 이렇습니다...

4. 실용영어 모르면 배워보세요

이것은 절대적으로 사실입니다. 1991년경에 나는 많은 해커들이 기술 토론에서 영어를 사용한다는 것을 알게 되었습니다. 심지어 그들의 모국어가 동일하고 영어가 그들에게 단지 제2 언어일지라도 제가 알고 있는 보고에 따르면 영어는 현재 다른 언어보다 더 많은 사용자를 보유하고 있습니다. 훨씬 더 풍부한 기술 용어를 포함하고 있어 작업에 꽤 좋은 도구입니다. 비슷한 이유로 영어 기술 서적의 번역은 종종 만족스럽지 않습니다(전혀 번역된 경우).

핀란드인 Linus Torvalds는 자신의 코드를 영어로 주석 처리했습니다(분명히 그에게는 우연이 아닙니다). 그의 유창한 영어 실력은 글로벌 Linux 개발자 커뮤니티를 관리하는 능력에 있어 중요한 요소였습니다. 이것은 배울 가치가 있는 예입니다.

그렇다면 초보자로서 어떻게 학습을 시작해야 할까요?

1. 컴퓨터 작동 방식

기본 학습의 이 부분을 완료하려면 선택할 수 있는 시작점이 많습니다. 정기적으로 내일부터 배울 프로그래밍 언어를 선택하거나(참고: 초보자는 어떤 언어가 사용 가능한지 이해하지 못할 수 있고 쉽게 혼란스러울 수 있음) 일부 포럼에 가거나 이 책을 구입할 수도 있습니다. 많은 시작 채널이 있으며, 어떤 채널을 선택하느냐에 따라 달라집니다.

프로그래밍 언어부터 먼저 시작하고, 프로그래밍 언어를 선택할 때 포기하지 말고 처음부터 끝까지 배우도록 하세요. 여기서는 언어를 추천하지 않습니다. 천천히 직접 배우고 원하는 언어를 선택할 수 있습니다. (이해 과정에서 혼란을 느끼는 것은 정상입니다.)

그러나 이는 일부일 뿐이며 이해해야 할 하드웨어 지식도 있습니다. 예를 들어, 폰 노이만 구조란 무엇입니까? 초보자로서 당신은 전임자들이 당신에게 가르친 가장 중요한 것들을 먼저 배우고 그것을 확장하는 것이 가장 안전합니다.

컴퓨터는 소프트웨어 + 하드웨어로 구성된 기계로 잘 알려져 있습니다. 하드웨어는 트랙이고, 소프트웨어는 스포츠카이며 다양한 데이터 스타일의 디스플레이를 형성합니다. 이는 시각적인 예로서 실제 하드웨어나 소프트웨어와는 다르지만, 초기 단계에서 이를 이해하기 위해서는 정밀도를 포기하고 거칠기를 추구할 필요가 있다.

위에서 제안하는 것은 더 큰 관점에서 소프트웨어부터 시작하라는 것입니다. 하드웨어는 설계되고 완성되었으므로 컴퓨터를 작동하는 방법과 거의 관련이 없습니다. 당신의 목표는 컴퓨터를 만드는 것이 아니라 컴퓨터의 작동을 해킹하고 제어하는 ​​것이므로 소프트웨어가 하드웨어보다 우선하기 때문에 컴퓨터 작동은 훌륭합니다.

그래서 프로그래밍 언어를 찾아 그것에 충실하세요. 절대적으로 그것에 충실하십시오. (당신의 목표가 작은 침입을 할 수 있고 프로그램의 기본 작업 프로세스를 아는 것이라면 해커 마스터가 되고 싶은 사람들을 말하는 것입니다. 컴퓨터), 필요하지 않음), 언어를 배운 후 많은 발전을 이룰 것입니다. 그래야만 생각이 명확해지고 오늘 제가 말하는 내용을 이해하게 될 것입니다. 어떤 언어를 배워야 할지에 관해서는 제가 추천할 수 없다고 전에 말씀드렸듯이 여러분이 직접 배워보아야 합니다.

2. 컴퓨터 네트워크 기초

언어로 프로그래밍할 수 있으면 컴퓨터에서 실행되는 모든 소프트웨어와 프로그램(어떻게 실행되는지, 왜 실행되는지?)에 대해 깊이 이해하게 됩니다. 지금은 질문의 범위를 기억하고 질문의 범위를 너무 많이 확장하지 마십시오. 일부 설치 패키지의 용도는 알고 있습니다.

그러면 모든 소프트웨어 프로그램의 집합체인 "네트워크 프로토콜"을 쉽게 배울 수 있습니다.

네트워크 프로토콜의 핵심은 프로그램입니다. 그 기능은 컴퓨터가 서로 통신할 수 있도록 하고 좀 더 안전한 통신을 가능하게 하는 것입니다.

컴퓨터 작동 원리의 이전 부분을 공부한 후에는 이 부분을 배우는 것이 매우 쉬울 것입니다. 하지만 해커의 영향력은 주로 인터넷에서 나오기 때문에 해커는 눈앞의 컴퓨터만 제어할 수 있고 원격으로 제어하고 공격할 수는 없습니다. 컴퓨터 네트워크를 학습하면 핵심을 이해할 수 있습니다. 해커의 공격 포인트는 원격으로 존재하는 경우가 많으며, 해커의 위대함과 신비함도 대부분 인터넷을 통해 알 수 있습니다.

3. 해킹의 기초

위의 두 가지 기본 사항을 익힌 후에도 해킹 프로젝트를 어떻게 침입하고 수행할지 아직 모르는 사람들을 위해 준비되었습니다. 위의 두 부분을 학습한 후에는 컴퓨터가 네트워크를 통해 다른 컴퓨터 시스템에 접근하는 방법, 정보를 도용하는 방법 등을 배울 수 없습니다.

아직 해보지 못했다면 해킹의 기본을 배워야 합니다. 이 분야의 선배들이 쓴 책이 많이 있습니다. 선배들의 경험을 체계적으로 정리하고 이해하면 금방 익숙해질 것입니다. 같은 마음으로 다른 세상으로 가세요.

위 내용은 해킹을 처음부터 배우는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿