Trên mục Jargon File có chứa một mớ định nghĩa cho từ 'Hacker', hầu hết liên quan đến khả năng kỹ thuật và cái sướng sau khi giải quyết những trở ngại và vượt qua các giới hạn. Nếu bạn muốn biết cách trở thành một hacker, chỉ có hai định nghĩa là xác hợp
1. Có một cộng đồng, một nơi có thứ văn hoá chia xẻ của các chuyên viên lập trình và các cao thủ mạng từ nhiều thập kỷ trước, từ thời các tiểu vi tính lần đầu được tung ra và từ thời ARPAnet còn hoang sơ. Các thành viên của cộng đồng này tạo ra từ 'Hacker'. Hackers xây dựng nên Internet. Hackers tạo ra hệ điều hành UNIX ngày nay. Hackers điều quản Usenet. Hackers làm cho World Wide Web hoạt động. Nếu bạn là một phần của cộng đồng này, nếu bạn đã đóng góp cho nó và những người trong cộng động này biết đến bạn, gọi bạn là 'Hacker' thì bạn chính là hacker
Tư duy của một hacker không giới hạn trong khuôn khổ văn hoá 'software-hacker'. Những người này đã áp dụng thái độ của hacker vào những việc khác ví dụ như trong điện tử hoặc trong âm nhạc - thật sự ra, bạn có thể thấy điều này ở đẳng cấp cao nhất của lãnh vực khoa học hay nghệ thuật. Dân Software hackers nhận ra được mối liên hệ đồng cảm ở những lĩnh vực khác và có thể gọi họ (những người ở những lĩnh vực khác) là 'hackers' - vài người cho rằng bản sắc tự nhiên của hacker thật sự độc lập với thể trạng mà hackers làm việc và tiếp cận. Phần còn lại của tài liệu này chúng ta sẽ tập trung vào khả năng và thái độ của software hackers và các truyền thống của nền văn hoá chia xẻ đã tạo ra từ 'hacker'
2. Có một nhóm người khác luôn tự cho họ là hackers một cách ầm ĩ nhưng thật sự họ không phải là hackers. Những người này (phần lớn là các cậu ở tuổi đang lớn) là những người "ghi bàn" được một vài cú thâm nhập vào máy tính và lừa lọc hệ thống điện thoại. Những hackers thực thụ gọi loại người này là 'crackers' và họ (hackers) chẳng muốn dính dáng gì đến đám người này. Hackers thực thụ hầu hết cho rằng đám 'crackers' lười nhác, vô trách nhiệm và không thông minh cho lắm. Việc có thể bẻ gãy cơ chế bảo mật chẳng biến anh thành một hacker; cái này chẳng khác gì khả năng 'đề' xe (không cần chìa) biến anh thành một kỹ sư xe máy. Không may, quá nhiều phóng viên và cây viết đã bị ngu hoá với việc dùng từ 'hacker' để mô tả crackers; điều này làm cho các hackers thứ thiệt cực kỳ khó chịu
17 trang |
Chia sẻ: luyenbuizn | Lượt xem: 1588 | Lượt tải: 2
Nội dung tài liệu Tài liệu hacker, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
HACKERTrên mục Jargon File có chứa một mớ định nghĩa cho từ 'Hacker', hầu hết liên quan đến khả năng kỹ thuật và cái sướng sau khi giải quyết những trở ngại và vượt qua các giới hạn. Nếu bạn muốn biết cách trở thành một hacker, chỉ có hai định nghĩa là xác hợp1. Có một cộng đồng, một nơi có thứ văn hoá chia xẻ của các chuyên viên lập trình và các cao thủ mạng từ nhiều thập kỷ trước, từ thời các tiểu vi tính lần đầu được tung ra và từ thời ARPAnet còn hoang sơ. Các thành viên của cộng đồng này tạo ra từ 'Hacker'. Hackers xây dựng nên Internet. Hackers tạo ra hệ điều hành UNIX ngày nay. Hackers điều quản Usenet. Hackers làm cho World Wide Web hoạt động. Nếu bạn là một phần của cộng đồng này, nếu bạn đã đóng góp cho nó và những người trong cộng động này biết đến bạn, gọi bạn là 'Hacker' thì bạn chính là hackerTư duy của một hacker không giới hạn trong khuôn khổ văn hoá 'software-hacker'. Những người này đã áp dụng thái độ của hacker vào những việc khác ví dụ như trong điện tử hoặc trong âm nhạc - thật sự ra, bạn có thể thấy điều này ở đẳng cấp cao nhất của lãnh vực khoa học hay nghệ thuật. Dân Software hackers nhận ra được mối liên hệ đồng cảm ở những lĩnh vực khác và có thể gọi họ (những người ở những lĩnh vực khác) là 'hackers' - vài người cho rằng bản sắc tự nhiên của hacker thật sự độc lập với thể trạng mà hackers làm việc và tiếp cận. Phần còn lại của tài liệu này chúng ta sẽ tập trung vào khả năng và thái độ của software hackers và các truyền thống của nền văn hoá chia xẻ đã tạo ra từ 'hacker'2. Có một nhóm người khác luôn tự cho họ là hackers một cách ầm ĩ nhưng thật sự họ không phải là hackers. Những người này (phần lớn là các cậu ở tuổi đang lớn) là những người "ghi bàn" được một vài cú thâm nhập vào máy tính và lừa lọc hệ thống điện thoại. Những hackers thực thụ gọi loại người này là 'crackers' và họ (hackers) chẳng muốn dính dáng gì đến đám người này. Hackers thực thụ hầu hết cho rằng đám 'crackers' lười nhác, vô trách nhiệm và không thông minh cho lắm. Việc có thể bẻ gãy cơ chế bảo mật chẳng biến anh thành một hacker; cái này chẳng khác gì khả năng 'đề' xe (không cần chìa) biến anh thành một kỹ sư xe máy. Không may, quá nhiều phóng viên và cây viết đã bị ngu hoá với việc dùng từ 'hacker' để mô tả crackers; điều này làm cho các hackers thứ thiệt cực kỳ khó chịuĐiểm khác biệt căn bản là: hackers xây dựng, crackers đánh đổ2. HACKER LIFESTYLEHackers giải quyết trở ngại và xây dựng vật thể, và họ tin tưởng ở tự do và tự nguyện chia xẻ, giúp đỡ lẫn nhau. Để được tiếp nhận như một hacker, bạn phải tự trọng như thể chính bạn có thái độ này. Và để tự trọng như thể bạn có thái độ ấy, bạn phải thật sự tin vào thái độ ấyNhưng nếu bạn nghĩ rằng chỉ cần bồi đắp thái độ để được tiếp nhận vào xã hội này thì bạn đã ngộ nhận. Trở thành một người tin tưởng vào những điều này là điều quan trọng cho bạn - bởi lẽ, từ việc giúp đỡ, chính bạn sẽ học hỏi và duy trì động lực cho chính bạn. Cũng như với các lĩnh vực nghệ thuật, cách hữu hiệu nhât để trở thành bậc thầy là bắt đầu với tư duy của bậc thầy - không chỉ ở khía cạnh trí thức mà còn ở khía cạnh tinh thầnVì thế, nếu bạn muốn trở thành hacker, hãy lặp đi, lặp lại các điều sau cho đến khi bạn tin vào chúng2.1. HACKER’S INTERNAL REASONLàm một hacker có nhiều điều vui, nhưng những điều vui này đòi hỏi rất nhiều cố gắng. Cố gắng tạo động lực. Các vận động viên tìm thấy động lực từ những điểm thú vị trong việc khiến cho cơ thể của họ hoạt động, trong việc tự đẩy họ vượt qua chính giới hạn thể lực hiện có. Tương tự, để làm một hacker bạn cần bắt lấy những niềm thích thú nho nhỏ từ việc giải quyết được những trở ngại, tinh luyện khả năng và thực tập trí thông minh của mình.Nếu bạn không phải là dạng người có cảm nhận những chuyện này một cách tự nhiên, bạn sẽ cần biến mình thành một người như thế thì mới có thể trở thành hacker. Nếu không, bạn sẽ thấy năng lượng hacking của mình bị những thứ dễ làm chi phối như tình ái, tiền bạc và danh tiếng.... cắn xé tơi bờiBạn cũng cần phát triển một thứ niềm tin với khả năng học hỏi của chính mình - một niềm tin, ngay cả có thể bạn không biết mọi điều cần thiết để giải quyết trở ngại, nếu bạn chỉ cần lao vào để giải quyết một mảnh trở ngại rồi học hỏi từ điểm ấy, bạn sẽ học đủ để giải quyết mảnh kế tiếp - và như thế, cho đến khi bạn hoàn tất.2.2. HACKER’S DEVELOPMENTNhững khối óc sáng tạo là những thứ quý báu, có giới hạn. Chúng không nên bị phí phạm trong việc tái tạo những thứ đã có sẵn trong lúc có quá nhiều trở ngại lạ kỳ đang đợi được giải quyết ngoài kiaĐể có thái độ như một hacker, bạn cần tin rằng thời gian suy gẫm của các hackers khác là những thứ quý giá - quý giá đến nỗi, đối với bạn nó trở thành trách nhiệm đạo đức để phải chia xẻ thông tin, giải quyết trở ngại và sau đó chia xẻ giải pháp để giúp những hackers khác có thể giải quyết những trở ngại mới thay vì họ phải thường xuyên tái xét những trở ngại đã được (ai đó) giải quyếtTuy vậy, nên nhớ là câu "không có trở ngại nào nên được giải quyết hai lần" không ẩn dụ rằng mọi giải pháp hiện có đều quý giá, hoặc chỉ có một giải pháp đúng đắn cho một trở ngại. Thông thường, chúng ta nghiên cứu một trở ngại nào đó chưa từng đối diện trước đây bằng cách hình thành một giải pháp tức thời. Điều này không có gì sai và thường là cần thiết để giúp quyết định một cách tốt hơn. Điều không hay nằm ở chỗ trở ngại thuộc giới hạn kỹ thuật trá hình, pháp luật hoặc các hàng rào cản tập đoàn (như mã nguồn đóng) làm ngăn cản giải pháp tốt được tái dụng và buộc mọi người phải tái tạo lại những thứ đã có sẵnBạn không cần phải tin rằng bạn bị buộc phải chia xẻ mọi sản phẩm sáng tạo của bạn, dẫu rằng những hackers làm việc này là những người được nể trọng nhất trong đám hackers. Việc duy trì thu nhập cho thức ăn, tiền trọ, chi phí cho máy tính là chuyện cần thiết. Bạn dùng khả năng hack của mình để hỗ trợ gia đình hoặc ngay cả làm giàu, đều tốt cả, miễn sao bạn đừng quên sự gắn bó của bạn đối với cái đẹp bạn tạo ra và đối với những bạn hackers đồng hành cũng đang làm như thế2.3. HACKER’S DIFFICULTHackers không nên bị cảm thấy chán nản hoặc đơn điệu trong khi làm những việc mang tính lặp đi, lặp lại một cách ngu xuẩn; bởi vì khi cảm giác này xảy ra có nghĩa họ không làm những điều họ đáng làm - giải quyết trở ngại. Sự lãng phí này làm hỏng mọi người. Bởi thế, chán nản và đơn điệu không chỉ không thú vị mà còn là ám chướngĐể có thái độ như một hacker, bạn cần tin vào điều này, cáng làm những công việc nhàm chán càng nhiều càng tốt, không chỉ cho riêng bạn mà cho mọi người (đặc biệt cho những hackers khác)Có một ngoại lệ hiển nhiên cho điều (số 3) này. Hackers đôi khi làm những chuyện có vẻ như lặp đi lặp lại hoặc chán phèo để đóng vai như một quan sát viên cho công việc "tẩy não" hoặc để thu thập kiến thức hoặc kinh nghiệm nào đó không thể có được nếu không làm như thế. Nhưng việc này tùy người - chẳng có ai nên bị đẩy vào vị thế chán chường2.4. HACKER’S FREEDOMHackers có bản tính tự nhiên là những người chống cửa quyền. Bất cứ ai cũng không thể ra lệnh cho bạn, ngăn bạn làm công việc giải quyết trở ngại mà bạn đam mê - và, bộ não của những kẻ có quyền lực thường nảy ra những lý do ngu xuẩn và buồn nôn để ngăn trở bạn. Thế nên, thái độ của kẻ cửa quyền cần được công kích bất cứ nơi nào bạn thấy có, hãy làm cho nó tan biến khỏi bạn và những hackers khácĐây không phải tương tự như chống đối luật pháp. Trẻ con cần được uốn nắn và tội phạm cần được kiểm chế. Một hacker có thể đồng ý một thể dạng luật pháp để đổi lấy cái gì đó anh ta muốn thay vì thúc thủ tuân lệnh. Nhưng đây là chuyện có giới hạn, mặc cả tỉnh táo; một dạng chấp nhận trao đổi bán chính thức giữa kẻ có quyền lực và bạnNhững kẻ có quyền lực thích bồi đắp khả năng ngăn cản và tính bí mật. Và thế, họ không tin vào thái độ tự nguyện hợp tác và tự nguyện chia xẻ thông tin - họ chỉ muốn 'hợp tác' theo kiểu họ khống chế. Bởi thế, để có thái độ như một hacker, bạn cần phát triển phản xạ chống trả với thái độ ngăn cản, thái độ bí hiểm bằng vũ lực hoặc ép buộc. Bạn cần có ý chí để làm chuyện này2.5. HACKER’S REAL STRENGTHĐể làm một hacker, bạn cần bồi đắp một số thái độ như thế. Nhưng chỉ có thái độ sẽ không đủ biến bạn trở thành một hacker hoặc một vận động viên vô địch hoặc một ngôi sao nhạc rock. Trở thành một hacker cần kiến thức, thực hành, bền bỉ và chăm chỉBởi thế, bạn cần hoài nghi 'dáng điệu' và thật sự tôn trọng thực chất khả năng. Hackers không để cho những kẻ làm dáng lãng phí thời gian của họ, ngược lại (hackers) thường tôn thờ thực chất khả năng - đặc biệt là thực chất khả năng hacking và thực chất khả năng làm bất cứ việc gì có giá trị. Thực chất khả năng cho những nhu cầu ích lợi (mà không hiếm người đạt được) là điều rất tốt, và thực chất khả năng cho những nhu cầu đòi hỏi sự linh mẫn của trí tuệ, khéo léo và độ tập trung là tốt nhấtNếu bạn đã có sẵn thực chất khả năng, bạn sẽ phát triển nó một cách thích thú - chăm chỉ và chuyên cần sẽ tạo nên trạng thái căng thẳng và sẽ không có chỗ cho sự uể oải. Thái độ này là điểm tối quan trọng để trở thành một hacker3. KỸ NĂNG HACKING CĂN BẢNThái độ cần thiết của hacker là điểm quan trọng nhưng kỹ năng lại càng quan trọng hơn. Thái độ không thể thay thế cho khả năng thật sự, và một số "đồ nghề" căn bản mà bạn phải có trước khi gia nhập gia đình Hacker"Đồ nghề" này thay đổi dần dần theo thời gian khi công nghệ hình thành những cái mới và làm cho cái cũ trở nên vô dụng. Ví dụ, trước đây thường bao gồm việc lập trình bằng ngôn ngữ của máy và gần đây, việc dùng HTML chẳng hạn không còn đòi hỏi này nữa. Ngay lúc này 'đồ nghề' gồm có những thứ khá rõ ràng như sau:3.1. HỌC LẬP TRÌNHHiển nhiên đây là điểm nền móng cho kỹ năng hacking. Nếu bạn không biết một ngôn ngữ lập trình nào, tôi đề nghị bạn bắt đầu với Python. Ngôn ngữ này được thiết kế gọn, sạch, tài liệu đầy đủ và khá nhẹ nhàng cho những người bắt đầu. Mặc dù thích hợp cho ngôn ngữ đầu tiên, nó không phải là đồ chơi; nó rất mạnh mẽ, linh động và có thể thích hợp cho các công trình lớn. Tôi đã viết một bài chi tiết evaluation of Python (đánh giá Python). Các bài thực tập có chất lượng có ở trang web của PythonJava cũng là một ngôn ngữ tốt để học lập trình. Nó khó hơn Python nhưng cho phép tạo code nhanh hơn Python. Tôi cho rằng nó là một chọn lựa rất tuyệt cho ngôn ngữ thứ nhì. Không may, phần nền của Java vẫn thuộc dạng "đóng". Điều này không phải là vấn đề gì với chính ngôn ngữ Java cả, nhiều bộ biên dịch nguồn mở chất lượng cao cho Java có trên mạng; vấn đề thật sự với Java là các lớp thư viện phải luôn luôn đi kèm với ngôn ngữ. Các lớp thư viện nguồn mở cho Java thường bị tụt lùi sau bộ thư viện của Sun. Bởi thế, nếu bạn chọn Java, nên chọn một ứng dụng nguồn mở thay vì bị lệ thuộc vào nguồn đóng của SunNhưng coi chừng một điều, bạn sẽ không đạt được mức kỹ năng cần thiết của một hacker hoặc ngay cả một lập trình viên nếu bạn chỉ biết có một hoặc hai ngôn ngữ - bạn nên học cách suy nghĩ đến những trở ngại lập trình một cách tổng quát, không phụ thuộc vào bất cứ ngôn ngữ nào. Trở nên một hacker thật sự, bạn cần đi đến chỗ bạn có thể học một ngôn ngữ mới trong giới hạn tính theo ngày bằng cách liên hệ từ những gì có trong tài liệu chỉ dẫn và những gì bạn đã biết. Điều này có nghĩa bạn nên học rất nhiều ngôn ngữNếu bạn muốn đi sâu vào lập trình một cách nghiêm túc, bạn sẽ phải học C, ngôn ngữ cốt lõi của Unix. C++ liên hệ rất gần với C; nếu bạn đã biết cái này, học cái kia sẽ không khó. Tuy vậy, chẳng có cái nào tốt hơn để học trước cả. Và thật ra, càng tránh lập trình trên C, bạn càng năng suấtC rất hiệu năng và hiệu dụng cho tài nguyên của máy. Không may C đòi hỏi bạn phải thực hiện rất nhiều công tác quản lý tài nguyên ở mức cấp thấp và bằng tay (trong phần bộ nhớ chẳng hạn) để đạt được mức hiệu năng đó. Tất cả mã nguồn ở mức cấp thấp rất phức tạp và dễ tạo lỗi, chúng dễ hao tổn cả khối thời gian của bạn cho việc tìm lỗi. Với độ mạnh mẽ của máy tính hiện nay, việc đánh đổi (thời gian) thế này là điều không hay - dùng một thứ ngôn ngữ tốn kém thời gian của máy, thiếu hiệu xuất nhưng lại tiết kiệm thời gian của bạn có lẽ là chọn lựa thông minh hơn. Như: Python chẳng hạnNhững ngôn ngữ khác cũng không kém phần quan trọng đối với hackers như Perl và LISP. Perl đáng để học vì lý do thực dụng; nó được sử dụng rộng rãi cho ứng dụng web và công tác quản lý hệ thống, thế nên, ngay cả bạn không bao giờ viết Perl, bạn cũng nên học cách đọc nó. Nhiều người sử dụng Perl để tránh dùng C với những công việc không đòi hỏi mức hiệu năng của C, tôi nghĩ nên dùng Python thì thích hợp hơn. Bạn cần phải hiểu code của những người khác. LISP đáng để đề cập đến vì một lý do khác - đó là cảm giác "phê" khi bạn nắm bắt được nó. Cảm giác này sẽ biến bạn trở thành một lập trình viên tốt hơn, ngay cả bạn không bao giờ dùng LISP. (Bạn có thể nắm bắt được kinh nghiệm dùng LISP khá dễ dàng bằng cách viết và điều chỉnh chế độ điều chỉnh cho Emacs hoặc Script-Fu plugin cho GIMP)Tốt nhất là nên học luôn cả năm ngôn ngữ: Python, C/C++, Java, Perl và LISP. Ngoài lý do chúng là những ngôn ngữ lập trình quan trọng nhất cho hacking, chúng còn đại diện cho các hướng tiếp cận rất khác nhau cho việc lập trình và mỗi ngôn ngữ này sẽ giáo dục bạn bằng những cách có giá trị khác nhauTôi không thể cho bạn cách thức học từng ngôn ngữ ở đây - đây là một thứ kỹ năng phức tạp. Tôi có thể cho bạn biết rằng những cuốn sách và các khoá học cũng sẽ không chỉ cho bạn cách rèn luyện (rất nhiều, có thể nói là hầu hết các hackers chiến nhất là những người tự học). Bạn có thể học tính năng của ngôn ngữ - phần kiến thức - từ sách vở, nhưng phần tư duy giúp chuyển hoá kiến thức vào kỹ năng thật sự trong đời sống chỉ có thể tìm được qua thực hành và rèn luyện. Đó là những thứ (a)đọc code và (b) viết codePeter Norvig là một trong những hackers đứng đầu của Google và là đồng tác giả của cuốn sách giáo khoa phổ biến nhất cho về AI, đã viết một tài liệu sáng giá có tên gọi là Teach Yourself Programming in Ten Years (tự dạy lập trình trong mười năm). Đây là "công thức để thành công trong lập trình" của ông ta, một tài liệu đáng chú ýHọc cách lập trình giống như học cách viết một thứ ngôn ngữ tự nhiên. Cách tốt nhất là đọc một ít những thứ đã được các bậc thầy viết, rồi tự bạn viết cái gì đó, đọc nhiều hơn nữa, viết thêm chút nữa, đọc nhiều hơn nữa, viết nhiều hơn nữa.... và lặp lại cho đến khi những thứ bạn viết bắt đầu hình thành sức mạnh và giá trị mà bạn thấy được từ những mẫu người bạn noi theoTrước đây, tìm code hay để đọc là điều rất khó bởi vì rất ít có chương trình đủ lớn mà có luôn mã nguồn để các hackers mới gia nhập có thể đọc và táy máy. Điều này đã thay đổi rất nhiều; các chương trình mở nguồn, các công cụ lập trình và các hệ điều hành (tất cả được hackers xây dựng) lúc này có sẵn khắp nơi. Điều này dẫn tôi đến phần tiếp theo...3.2. LẤY NGAY MỘT CÁI UNIX NGUỒN MỞ VÀ HỌC CÁCH SỬ DỤNG VÀ ĐIỀU KHIỂN NÓTôi giả định bạn có máy tính cá nhân hoặc có thể sử dụng một cái ở đâu đó. (Hãy suy gẫm chốc lát để cảm thấu điều này. Văn hoá hacker nguyên thủy biến thiên từ lúc máy tính thật đắt tiền đến nỗi rất nhiều người không thể làm chủ nổi một cái). Bước đầu tiên và quan trọng nhất cho bất cứ newbie nào để có thể vươn đến kỹ năng của hackers là lấy ngay một bản Linux hoặc một bản BSD-Unix hoặc OpenSolaris, cài nó lên máy và chạy nóVâng, có nhiều hệ điều hành khác trên thới giới ngoài Unix nhưng chúng được cung cấp ở dạng binary - bạn không thể đọc được mã nguồn và bạn không thể điều chỉnh nó. Cố học hack trên máy chạy Microsoft Windows hoặc trên một máy chạy hệ điều hành nào thuộc dạng mã đóng cũng giống như cố học cách khiêu vũ trong lúc cơ thể đang bó bộtCó thể dùng MacOS X nhưng chỉ một phần của hệ điều hành là nguồn mở - bạn hẳn sẽ sa vào hàng đống bế tắc và bạn cần cẩn thận để tránh lâm vào thói quen xấu là phải dựa dẫm vào mã nguồn có bản quyền của Apple. Nếu bạn tập trung vào phần Unix, bạn có thể học được vài điều hữu dụngUnix là hệ điều hành của Internet. Trong khi bạn có thể học cách sử dụng Internet mà không cần biết đến Unix, bạn lại không thể là một Internet hacker nếu không hiểu Unix. Vì lý do này, văn hoá hacker ngày nay tập trung khá mạnh ở Unix. (Điều này không phải lúc nào cũng đúng, và một số hacker thời trước vẫn không vui với chuyện này nhưng mối quan hệ cộng sinh giữa Unix và Internet đã trở nên đủ mạnh khiến cho cả bắp thịt Microsoft không đủ sức làm xước được nó).Thế, mang Unix vào câu chuyện - bản thân tôi thích Linux nhưng có những cách khác (và vâng, bạn có thể chạy cả Linux và Microsoft Windows trên cùng một máy). Học nó. Chạy nó. Máy mó nó. Trao đổi trên Internet với nó. Đọc mã nguồn. Chỉnh mã nguồn. Bạn sẽ có những công cụ lập trình (bao gồm C, LISP, Python và Perl) tốt hơn bất cứ một hệ điều hành Microsoft nào mơ tưởng để có được. Bạn sẽ vui thích, bạn sẽ bồi đắp thêm kiến thức nhiều hơn mà bạn có thể hình dung (bạn chỉ có thể thấy) lúc nào đó, khi nhìn lại trọn bộ quá trình như một hacker bậc thầyĐể có thêm thông tin về việc học Unix, xem The Loginataka. Bạn cũng có thể cần xem The Art of Unix ProgrammingĐể mó tay vào Linux, xem Linux Online!; bạn có thể tải đồ từ đó hoặc (tốt hơn nữa) tìm một nhóm người dùng ở địa phương giúp bạn cho việc cài đặt. Đối với người dùng mới với Linux. tất cả Linux Distribution đều tương tự như nhauBạn có thể tìm thông tin giúp đỡ và tài nguyên về BSD Unix ở BSDĐể bắt đầu, bạn nên xem qua Basics of Unix and the InternetGhi chú: Tôi thật lòng không đề nghị việc tự cài Linux hoặc BSD một mình nếu như bạn là newbie. Với Linux, tìm một nhóm người dùng Linux ở địa phương bạn để được giúp đỡ3.3. HỌC CÁCH SỬ DỤNG WORLD WIDE WEB VÀ VIẾT HTMLHầu hết hackers xây dựng những thứ giúp cho công việc không hiển hiện cụ thể, họ giúp điều khiển nhà máy, văn phòng và trường đại học mà chẳng để lại ảnh hưởng cụ thể gì đến đời sống của những người không phải là hacker. Web lại là một ngoại lệ to lớn, web là một món đồ chơi khổng lồ và lấp lánh khiến cho ngay cả đám chính trị gia cũng phải thừa nhận rằng nó đã thay đổi thế giới. Chỉ cần mỗi lý do này đủ để bạn cần học cách làm việc với WebĐiều này không có nghĩa học cách sử dụng trình duyệt, nhưng học cách viết HTML, thứ ngôn ngữ hình thành Web. Nếu bạn không biết cách lập trình, viết HTML sẽ dạy bạn một số thói quen tinh thần ích lợi cho việc học lập trình. Thế nên, làm vài trang web. Cố bám vào XHTML, một dạng HTML sạch hơn dạng HTML cổ điển. Có rất nhiều bài thực tập hay trên Web; đây là một ví dụNhưng chỉ có vài trang chủ thì chẳng đủ thiếu gì để biến bạn trở thành một hacker. Web tràn ngập những trang chủ. Chúng hầu hết vô ích, ngập ngụa trang trí nhưng hoàn toàn không có nội dung - rất hào nhoáng, rất ngập ngụa, bạn phải biết, sự ngập ngụa này y hệt như nhau (xem thêm ở The HTML Hell Page)3.4. NẾU BẠN KHÔNG CÓ TIẾNG ANH Ở MỨC ĐỦ DÙNGMột người Mỹ và nói tiếng Anh như tôi, trước đây tôi đã từng ngần ngại khi đề nghị điều này, e rằng sẽ bị ngộ nhận như một thứ văn hoá chủ nghĩa đế quốc. Nhưng hàng loạt những người có tiếng mẹ đẻ là tiếng Anh và các thứ tiếng khác đã thúc đẩy tôi nên nhấn mạnh rằng tiếng Anh là thứ ngôn ngữ dùng để làm việc của xã hội hacker và của Internet, và bởi thế, bạn cần phải biết nó để có thể làm việc và sinh hoạt trong cộng đồng hackerQuay lại khoảng 1991, tôi được biết có nhiều hackers dùng tiếng Anh (là thứ ngôn ngữ thứ nhì của họ) trong các cuộc thảo luận kỹ thuật ngay cả bằng khẩu âm của tiếng mẹ đẻ. Tôi được cho biết khi đó tiếng Anh có từ vựng kỹ thuật phong phú hơn nhiều ngôn ngữ khác nên nó trở thành chọn lựa thích hợp. Cho những lý do tương tự, các bản dịch từ những sách kỹ thuật được viết bằng tiếng Anh thường thiếu sâu sát (khi chúng được hoàn thành hay chăng nữa)Linux Torvalds, người Phần Lan, chú thích mã nguồn của anh ta bằng tiếng Anh (hiển nhiên anh ta chưa hề làm khác hơn thế - chú thích bằng tiếng Phần Lan). Sự nhuần nhuyễn tiếng Anh của anh ta là một trọng điểm cho phép anh triệu tập cộng đồng phát triển nhu liệu của toàn thế giới cho Linux. Đây là một ví dụ đáng để noi theoLà một người có tiếng Anh là tiếng mẹ đẻ không bảo đảm bạn có đủ kỹ năng ngôn ngữ để hoạt động như một hacker. Nếu lối viết của bạn thuộc dạng thiếu hụt, không có văn phạm và đầy lỗi chính tả sẽ khiến cho nhiều hackers khác (kể cả tôi) có xu hướng làm ngơ bạn. Dù rằng lối viết bừa bãi không hẳn là biểu thị của lối suy nghĩ lộn xộn nhưng chúng tôi thưòng thấy mối liên hệ này khá gần - và chúng tôi chẳng có chỗ cho những người có lối suy nghĩ lộn xộn. Nếu bạn chưa thể viết một cách mạch lạc, hãy rèn luyện để viết như thếnguồn:
1 . ) Ta cần những gì để bắt đầu ? Có thể nhiều bạn không đồng ý với tôi nhưng cách tốt nhất để thực tập là các bạn hãy dùng HĐH Window 9X , rồI đến các cái khác mạnh hơn đó là Linux hoặc Unix , dướI đây là những cái bạn cần có : + Một cái OS ( có thể là DOS , Window 9X , Linux , Unit ….) + Một cái trang Web tốt ( HVA chẳng hạn hi`hi` greenbiggrin.gif greenbiggrin.gif ) + Một bộ trình duyệt mạng tốt ( là Nescape , IE , nhưng tốt nhất có lẽ là Gozzila ) + Một công cụ chat tốt ( mIRC ,Yahoo Mass …..) + Telnet ( hoặc những cái tương tự như nmap …) + Cái quan trọng nhất mà bất cứ ai muốn trở thành một hacker là đều phảI có một chút kiến thức về lập trình ( C , C++ , Visual Basic , Pert …..) 2 . ) Thế nào là một địa chỉ IP ? _ Địa chỉ IP được chia thành 4 số giới hạn từ 0 - 255. Mỗi số được lưu bởi 1 byte - > !P có kicks thước là 4byte, được chia thành các lớp địa chỉ. Có 3 lớp là A, B, và C. Nếu ở lớp A, ta sẽ có thể có 16 triệu điạ chỉ, ở lớp B có 65536 địa chỉ. Ví dụ: Ở lớp B với 132.25,chúng ta có tất cả các địa chỉ từ 132.25.0.0 đến 132.25.255.255. Phần lớn các địa chỉ ở lớp A llà sở hữu của các công ty hay của tổ chức. Một ISP thường sở hữu một vài địa chỉ lớp B hoặc C. Ví dụ: Nếu địa chỉ IP của bạn là 132.25.23.24 thì bạn có thể xác định ISP của bạn là ai. ( có IP là 132.25.x.) _ IP là từ viết tắt của Internet Protocol, trên Internet thì địa chỉ IP của mỗI người là duy nhất và nó sẽ đạI diện cho chính ngườI đó, địa chỉ IP được sử dụng bởi các máy tính khác nhau để nhận biết các máy tính kết nối giữa chúng. Đây là lí do tại sao bạn lại bị IRC cấm, và là cách người ta tìm ra IP của bạn. Địa chỉ IP có thể dễ dàng phát hiện ra, người ta có thể lấy được qua các cách sau : + bạn lướt qua một trang web, IP của bạn bị ghi lại + trên IRC, bất kì ai cũng có thể có IP của bạn + trên ICQ, mọi người có thể biết IP của bạn, thậm chí bạn chọn ``do not show ip`` người ta vẫn lấy được nó + nếu bạn kết nối với một ai đó, họ có thế gõ ``systat –n ``, và biết được ai đang kết nối đên họ + nếu ai đó gửi cho bạn một email với một đoạn mã java tóm IP, họ cũng có thể tóm được IP của bạn ( Tài liệu của HVA ) 3 . ) Làm thế nào để biết được địa chỉ IP của mình ? Run đánh lệnh “winipcfg” .è_ Trong Window : vào Start _ Trong mIRC : kết nốI đến máy chủ sau đó đánh lệnh “/dns ” _ Thông qua một số trang Web có hiển thị IP . 4 . ) IP Spoofing là gì ? _ Một số IP có mục đích để xác định một thiết bị duy nhất trên thế giới. Vì vậy trên mạng một máy chủ có thể cho phép một thiết bị khác trao đổi dữ liệu qua lại mà không cần kiểm tra máy chủ. Tuy nhiên có thể thay đổi IP của bạn, nghĩa là bạn có thể gởi một thông tin giả đến một máy khác mà máy đó sẽ tin rằng thông tin nhận được xuất phát từ một máy nào đó (tất nhiên là không phải máy của bạn). Bạn có thể vượt qua máy chủ mà không cần phải có quyền điều khiến máy chủ đó. Điều trở ngại là ở chỗ những thông tin phản hồi từ máy chủ sẽ được gởi đến thiết bị có IP mà chúng ta đã giả mạo. Vì vậy có thể bạn sẽ không có được sự phản hồi những thông tin mà mình mong muốn. Có lẽ điều duy nhất mà spoof IP có hiệu quả là khi bạn cần vượt qua firewall, trộm account và cần dấu thông tin cá nhân! ( Tài liệu của HVA ) 5 . ) Trojan / worm / virus / logicbomb là cái gì ? _ Trojan : Nói cho dễ hiểu thì đây là chương trình điệp viên được cài vào máy của ngườI khác để ăn cắp nhũng tài liệu trên máy đó gửI về cho chủ nhân của nó , Cái mà nó ăn cắp có thể là mật khẩu , accourt , hay cookie ………. tuỳ theo ý muốn của ngườI cài nó . _ virus : Nói cho dễ hiểu thì đây là chương trình vớI những mã đặc biệt được cài ( hoặc lây lan từ máy khác ) lên máy của nạn nhân và thực hiện những yêu cầu của mã đó , đa số virut được sử dụng để phá hoạI dữ liệu hoặc phá hoạI máy tính . _ worm : Đây là chương trình độc lập có thể tự nhân bản bản thân nó và lây lan khắp bên trong mạng .Cũng giống như Virut , nó cũng có thể phá hoạI dữ liệu , hoặc nó có thể phá hoạI bên trong mạng , nhiều khi còn làm down cả mang đó . _ logicbomb : Là chương trình gửi một lúc nhiều gói dữ liệu cho cùng một địa chỉ , làm ngập lụt hệ thống , tắt nghẽn đường truyền ( trên server ) hoặc dùng làm công cụ để “khủng bố” đốI phương ( bom Mail ) . 6 . ) PGP là gì ? _ PGP là viết tắt của từ “Pretty Good Privacy” , đây là công cụ sử dụng sự mã hoá chìa khoá công cộng để bảo vệ những hồ sơ Email và dữ liệu , là dạng mã hoá an toàn cao sử dụng phần mềm cho MS_DOS , Unix , VAX/V
Các file đính kèm theo tài liệu này:
- hacker_8401.doc