什么是"黑客"?
什么是黑客?
黑客一词,源于英文Hacker,原指热心于计算机技术,水平高超的电脑专家,尤其是程序设计人员。
但到了今天,黑客一词已被用于泛指那些专门利用电脑搞破坏或恶作剧的家伙。对这些人的正确英文叫法是Cracker,有人翻译成“骇客”。
黑客和骇客根本的区别是:黑客们建设,而骇客们破坏。
黑客守则:
第一条:不恶意破坏任何的系统,这样作只会给你带来麻烦。恶意破坏它人的软体将导致法律刑责,如果你只是使用电脑, 那仅为非法使用! 注意:千万不要破坏别人的软体或资料!
第二条:不修改任何的系统档,如果你是为了要进入系统而修改它,请在答到目的后将它改回原状。
第三条:不要轻易的将你要 Hack 的站点告诉你不信任的朋友。
第四条:不要在bbs上谈论你Hack 的任何事情。
第五条:在Post文章的时候不要使用真名。
第六条. 正在入侵的时候, 不要随意离开你的电脑
第七条. 不要侵入或破坏政府机关的主机。
第八条. 不在电话中谈论你 Hack 的任何事情。
第九条. 将你的笔记放在安全的地方。
真正的黑客应该具备什么素质
我想能看到这篇文章的朋友,一定对黑客这个词不陌生。但能真正彻底的理解这个词却不是一件容易的事。在这里我要说些不同的看法,并不是要说明什么,只是想要告诉大家,事情有好多方面,从不同的角度看一件事可能会有好多不同的答案。比如,时下在国内网络界很火的红客,蓝客。就我个人认为这是对黑客和黑客精神的不尊敬,也代表着他们对“黑客”一词并不是很了解。
“黑客”算是一个外来词, 是hacker的中文翻译。其实它也没有什么特殊的意思,原意是指一些热衷于计算机和网络技术的人。这些人为计算机和网络世界而发狂,对任何有趣的问题都会去研究,他们的精神是一般人所不能领悟的。无可非议,这样的“hacker”是一个褒意词。但英雄谁都愿意做,慢慢的有些人打着黑客的旗帜,做了许多并不光彩的事。黑客们叫他们骇客(creaker),并以他们为耻,不愿和他们做朋友。其实,黑客和骇客并没有一个十分明显的界限。他们都入侵网络,破解密码。但从他们的出发点上看,却有着本质的不同:黑客是为了网络安全而入侵,为了提高自己的技术而入侵。free是黑客们的理想, 他们梦想的网络世界是没有利益冲突,没有金钱交易,完全共享的自由世界。而骇客们呢,为了达到自己的私欲,进入别人的系统大肆破坏。为了几个零花钱而破解软件。黑客们拼命的研究,是为了完善网络,是网络更加安全。 骇客们也在钻研,他们是为了成为网络世界的统治者,成为网络世界的神。这是多么可怕的想法,现代社会越来越依赖于网络,如果没有黑客保护我们的网络,我们的网络就会被那些别有用心的骇客所利用,成为一个暗无天日的世界。
以上是黑客和骇客的区别。现在谈谈中国特有的红客和蓝客。也许是中国人自古就不太喜欢“黑”这个字,一想到黑字就想到了一些乌七八糟的东西。也许中国第一个黑客就不是什么好人,也没做什么好事,给大家的第一影响就不是很好。以至于现在有好多网络高手不想和黑客扯上一点关系,却以红客和蓝客自居。为什么?黑客这个称号不配你,还是你配不上这个称号。这不是跆拳道,白带,黄带,蓝带,一级级的来,最后到黑带。我认为,在网络世界里只有黑客和骇客的斗争,一正一邪。其他什么都没用。真心想为网络做点什么吗?好的,来做黑客,全身心的投入,一生不懈的努力。总是会有收获的,即使没有做成黑客,努力过了,也会心安理得。而不是用红客,蓝客自欺欺人。
我不是针对某些组织,我只是想说出自己的看法。我总是觉得,连网络界的朋友心都不齐,闹着要分家。大众诋毁黑客也是理所当然的了。 敢于做黑客,即使被别人误解。他们不理解 ,好,用实际行动来证明自己,用实际行动来告诉别人真正的黑客是什么样的。用小软件破解个QQ号,丢个炸弹,不算什么黑客。当大家真正知道了什么才是黑客,那些自以为是的人便成了大家的笑柄,网络上便不再会有这些偷鸡摸狗的事,大家都专心研究技术。这样的网络世界才会发展,这样的网络世界才是我们向往的最理想的家园。
我个人认为的做黑客要具备的几个基本要素:
首先,想要做一名黑客,首先要学会尊重网络。有些人在网上到处留假信息,注册的姓名,年龄都是假的。一方面,这样做是为了安全。但这样却侮辱了网络。你可以把它比作你的爱人,你对你的爱人说的话没一句是真的,这能代表你是真的爱她吗?现在几乎所有的正规网站都会对用户的资料进行一定程度的保护。担心网络会泄密,有些多余,再说你又不是克林顿,布什,都平常的网民怕什么,正所谓“我是流氓我怕谁”。(以上不包括必须留假姓名的情况)
其次,要想成为一名黑客不懂得网络及相应的计算机知识是不可想象的。每一个黑客都有着超乎常人的钻研精神,而且非常善于学习。时代在进步,科技也在不断的完善,只有学习我们才不会落后,只有不断的学习我们才能领先于别人。想在网络中闹出些名堂来,有些知识是不得不学的。网络基础,顾名思义他是网络世界中最原始的规则,如果连游戏规则都不懂,怎么玩转它。TCP/IP,这是现在的网络上最流行的一种网络协议,网络上大部分的工作都是*这种网络协议来完成。还有很多,这里就不多说了。
你学过编程吗?学的怎么样,有什么成绩了?编程对于一名计算机或网络工作者来说,就像左右手一样重要。不会的话赶快学吧!我建议要学多几种编程语言,已备不同情况时使用。这里我推荐几种:汇编语言,我个人觉得这是一种最有用的编程语言。虽然有点复杂,但它是汇编语言,比高级语言更*近计算机硬件。在某些问题上要优于高级语言。在高级语言中我比较喜欢Delphi,大家不是都说吗“真正的程序员用VC,聪明的程序员哟Delhpi,用VB的不是程序员。”Delphi的结构简单,功能强大,是我喜欢它的原因。如果你要立志成为一名优秀的程序员,而学习VC的话。我会替你高兴的,但你在信誓旦旦的同时也要做好受尽煎熬的准备,VC有是并不想你想象的那么可爱。网络时代许多网络编程语言成了大家的新宠,在这其中我还是推荐一种比较基础的HTML语言。一来是因为它比较基础,二来它已经得到了大家的公认,掌握的人也挺多,不懂可以问,这对你学习是很有帮助的。
现在,也许我们的个人电脑安装的都是微软的产品。但在真正的网络服务器,网络操作系统多种多样,这是因为大家对网络的安全性要求不尽相同。Windows 2000,Unix,Liunx, SUN OS这些都是现在网络上比较流行的网络操作系统。从我的观点来说,这些是我们都要掌握。至少要有个大概了解,再对一两种有深入的研究。了解它的历史,工作原理,特性以及它的漏洞。这样,我们才不会在遇到他们时手忙脚乱。
其实做黑客对人自身也有要求。聪明好学先放在一旁不说,光是入侵是不管的试密码和破解是长时间的等待就是常人难以忍受的。而且,黑客和骇客的区别不大,往往就在一念之间。经过几年的努力,就因为一念之差做了骇客。大家肯定都不愿做,但有时就是控制不住自己了。所以,我们要练习着使自己有耐性,还要淡漠名利,一心只想着FREE。
另外,英语不太好的朋友赶快把英语学好。我想,中国的黑客技术发展很慢的一大原因就是因为我们的英语水平不高。不像欧洲和美国的黑客那样可以进行技术交流,而且许多的技术文章,漏斗报告都是先有英文版,在翻成中文的。也许文章是由一些蹩脚的,非计算机专业的人来翻译。这就造成了技术的滞后和失真。也许有人会说,太忙了,没时间学。我说,不如我们三个月不谈计算机,不谈网络,一门心思学习英语。先利其器,磨刀不误砍柴功。等到学好了英语,再来看英文的技术文章,你会觉得眼前一片豁亮,学起来更加得心应手。
上面说的是做黑客的一些要求,这类文章网上到处都是。下面我想说的是,我们的黑客组织并不完善,这在某些方面也拖慢了我们前进的步伐。
黑客组织是一个很严密的机构,在其中分工明确,细致入微。像很著名的黑客组织DAY0,这个组织是一个偏重于软件破解的黑客组织。他们就分好多部门:采购部,买正版软件(大部分是试用版)以供给破解部门。破解部,核心部门,进行软件密码的破解。测试部,对软件进行检测,发现BUG马上通知破解部修正。发行部,负责软件的上传,以供其他网友下载。信息部,收集信息,接受网友们的信息反馈。这些部门的成员也许分布在地球的不同角落,但他们分工明确,接到任务马上执行。
在我看来黑客大概可以有以下几种分工:
编程:我们现在用的黑客软件都是这类人编写的,还有那些可恶的病毒。他们大都是程序员出身,对网络并不熟悉。但他们都有扎实的计算机功底和过硬的编程技术,是很棒的计算机人才。他们会利用自身的优势编写许多有用的软件出来,使我们的网络世界更加丰富,也可以使我们的入侵变得更加简单。
破解:这是很早以前就形成的一个分支。这些人主要进行的工作是破解试用版软件的密码,从而使这个软件成为真正意义上的免费软件。这些人其实也掌握了编程的技术,而他们对破解密码,反编译更加有经验。黑客精神中最精华的部分就体现在这些人的工作中,把任何软件都变成自由软件,共享出来给大家免费下载。
入侵:好多人把黑客理解为入侵的人,殊不知入侵只是黑客团体中一种分工。黑客们的入侵是为了更加的了解网络,他们不断的入侵,发现漏洞,解决它。虽然,他们的行为没有经过服务器主人的允许,但他们的行为是为了网络的安全着想。入侵使网络上介绍最多的一个黑客分支,大家对他也比较了解了,我也不再多说什么。但你要注意,进入别人的主机,千万不要图一时之快,删掉不该删的东西。这样做着会让真正的黑客看不起,没准也会招来不必要的麻烦。
维护:有攻就有防,有一类人就是专门研究网络维护方面的专家。他们对黑客的攻击手段很了解,修补漏洞是他们的家常便饭。可以说他们比入侵者更强,更了解我们的网络。因为,入侵者可以用一种方法进攻不同的站点和主机。有一个成功了,他的入侵就算成功。而维护人员要防许多黑客的进攻,有一次失败,就是失败。这好像足球场上的前锋和守门员的区别。前锋,攻城拔寨,谁都想当。而守门员默默地站在本方的门前,保护着自己的球门,但通常守门员是一支球队中身体素质最好的。
在这四类工作中还可以再进行不同的分工,但要根据自身情况而定,这里也不细讲了。
还有一种人,他们在黑客团体中并不显眼,但他们却为黑客技术的发展起了不小的作用。他们在写文章,把他们知道的东西都写成文章,无私的传授给别人。在他们的帮助下,越来越多的人进入了黑客这个神圣的团体中。而他们还在默默的写着,用他们的文章描绘真正的黑客和黑客精神。
我希望大家看了我的文章会对黑客以及黑客精神有了另一种理解,我的目的也就在于此。黑客不是神,也不是什么高高在上的职业,有的黑客甚至不能用他的黑客技术填饱自己的肚子。黑客只是一种爱好,只是一种兴趣,很多人为了这个爱好,兴趣付出了自己最宝贵的东西。而我们要学着尊重网络,尊重黑客精神,我们的前辈有生命谱写的黑客文化是不容我们玷污的。
最后,我附上在网上已经流传了很久的一段黑客守则。看过的人,请再看几遍,也许你会感到有以前你没看到的东西在里面。没看过的人,仔细看,能被就背下来吧,它在我眼里更像是护身符。不懂英文的人,就当是学英语了。
1 Never damage any system. This will only get you into trouble.不恶意破坏任何系统, 这样做只会给你带来麻烦。恶意破坏它人的软件或系统将导致法律刑责, 如果你只是使用电脑,那仅为非法使用!!注意:千万不要破坏别人的软件或资料!!
2 Never alter any of the systems files, except for those needed to insure that you are not detected, and those to insure that you have access into that computer in the future. 绝不修改任何系统文件,除非你认为有绝对把握的文件,或者要改那些文件是为了使你自己在以后更容易的再次进入这个系统而必须更改的。
3 Do not share any information about your hacking projects with anyone but those you''d trust.不要将你已破解的任何信息与人分享,除非此人绝对可以信赖。
4 When posting on BBS''s (Bulletin Board Systems) be as vague as possible when describing your current hacking projects. BBS''s CAN be monitered by law enforcement.当你发送相关信息到BBS(电子公告板)时,对于你当前所做的黑事尽可能说的含糊一些,以避免BBS受到警告。
5 Never use anyone''s real name or real phone number when posting on a BBS.在BBS上Post文章的时候不要使用真名和真实的电话号码。
6 Never leave your handle on any systems that you hack in to.如果你黑了某个系统,绝对不要留下任何的蛛丝马迹。(绝对不要留下大名或者是绰号之类的,这时由于成功的兴奋所导致的个人过度表现欲望会害死你的。)
7 Do not hack government computers.不要侵入或破坏政府机关的主机。
8 Never speak about hacking projects over your home telephone line.不在家庭电话中谈论你Hack的任何事情。
9 Be paranoid. Keep all of your hacking materials in a safe place.将你的黑客资料放在安全的地方。
10 To become a real hacker, you have to hack. You can''t just sit around reading text files and hanging out on BBS''s. This is not what hacking is all about.想真正成为黑客,你必须真枪实弹去做黑客应该做的事情。你不能仅仅*坐在家里读些黑客之类的文章或者从BBS中扒点东西,就能成为黑客,这不是"黑客"
真正的黑客 什么是黑客?只会使用工具来入侵的就叫黑客?网名:Coolfire !联系方法:cool.fire@msa.hinet.net 一个台湾籍黑客。出名之做遍是那8篇黑客入门文章,给众多菜鸟带来了福音。而当时还是中国黑客成长的初期。此人被人们定为中国第一代黑客。 网名:小榕 !个人站点: 提起这个名字,人们就会想到流光。这个当年让菜鸟入侵无数主机的武器遍出自小榕之手。小榕是高级程序员,所以精通的是软件开发和程序制作。流光,乱刀,溺雪及SQL注入......
什么是黑客?
黑客
一名黑客(hacker)是一个喜欢用智力通过创造性方法来挑战脑力极限的人,特别是他们所感兴趣的领域,例如电脑编程或电器工程。
黑客最早源自英文hacker,早期在美国的电脑界是带有褒义的。但在媒体报导中,黑客一词往往指那些“软件骇客”(software cracker)。
黑客一词,原指热心于计算机技术,水平高超的电脑专家,尤其是程序设计人员。
但到了今天,黑客一词已被用于泛指那些专门利用电脑搞破坏或恶作剧的家伙。对这些人的正确英文叫法是Cracker,有人翻译成“骇客”。
黑客和骇客根本的区别是:黑客们建设,而骇客们破坏。
黑客一词一般有以下四种意义:
一个对(某领域内的)编程语言有足够了解,可以不经长时间思考就能创造出有用的软件的人。
一个恶意(一般是非法地)试图破解或破坏某个程序、系统及网络安全的人。这个意义常常对那些符合条件(1)的黑客造成严重困扰,他们建议媒体将这群人称为“骇客”(cracker)。有时这群人也被叫做“黑帽黑客”。
一个试图破解某系统或网络以提醒该系统所有者的系统安全漏洞。这群人往往被称做“白帽黑客”或“匿名客”(sneaker)或红客。许多这样的人是电脑安全公司的雇员,并在完全合法的情况下攻击某系统。
一个通过知识或猜测而对某段程序做出(往往是好的)修改,并改变(或增强)该程序用途的人。
“脚本小孩”则指那些完全没有或仅有一点点骇客技巧,而只是按照指示或运行某种骇客程序来达到破解目的的人
著名黑客
Richard Stallman--传统型大黑客,Stallman在1971年受聘成为美国麻省理工学院人工智能实验室程序员。
Ken Thompson和Dennis Ritchie--贝尔实验室的电脑科学操作组程序员。两人在1969年发明了Unix操作系统。
John Draper(以咔嚓船长,Captain Crunch闻名)--发明了用一个塑料哨子打免费电话
Mark Abene(以Phiber Optik而闻名)--鼓舞了全美无数青少年“学习”美国内部电话系统是如何运作的
Robert Morris--康奈尔大学毕业生,在1988年不小心散布了第一只互联网蠕虫。
Kevin Mitnick--第一位被列入fbi通缉犯名单的骇客。
Kevin Poulsen--Poulsen于1990年成功地控制了所有进入洛杉矶地区KIIS-FM电台的电话线而赢得了该电台主办的有奖听众游戏。
Vladimir Levin--这位数学家领导了俄罗斯骇客组织诈骗花旗银行向其分发1000万美元。
Steve Wozniak--苹果电脑创办人之一。
Tsotumu Shimomura--于1994年攻破了当时最着名黑客Steve Wozniak的银行帐户。
Linus Torvalds--他于1991年开发了着名的Linux内核,当时他是芬兰赫尔辛基大学电脑系学生。
Johan Helsingius--黑尔森尤斯于1996年关闭自己的小商店后开发出了世界上最流行的,被称为“penet.fi"的匿名回函程序,他的麻烦从此开始接踵而至。其中最悲惨的就是sceintology教堂抱怨一个penet.fi用户在网上张贴教堂的秘密后芬兰警方在1995年对他进行了搜查,后来他封存了这个回函程序。
Tsutomu Shimomura--能记起他是因为抓了米特尼克。
Eric Raymond--Eric Raymond就一直活跃在计算机界,从事各种各样的计算机系统开发工作。同时,Eric Raymond更热衷于自由软件的开发与推广,并撰写文章、发表演说,积极推动自由软件运动的发展,为自由软件作出了巨大贡献。他写的《大教堂和市集》等文章,是自由软件界的经典美文,网景公司就是在这篇文章的影响下决定开放他们的源代码,使浏览器成为了自由软件大家族中的重要一员
红客 —— 一个让人肃然起敬的名字!
红客可以说是中国黑客起的名字。英文“honker”是红客的译音。
红客,是一群为捍卫中国的主权而战的黑客们!
他们的精神是令人敬佩的!
破解者 —— 喜欢探索软件程序!
破解者 —— Cracker
破解者,他们的目标是一些需要注册的软件。他们通常利用Debug,找出内存中的密码。
蓝客 —— 特别喜欢蓝色的黑客们!
蓝客,也属于黑客群。
蓝客,是指一些利用或发掘系统漏洞,D.o.S(Denial Of Service)系统,或者令个人操作系统(Windows)蓝屏。
“蓝客”一词由中国蓝客联盟()在2001年9月提出。当初的蓝客联盟(中国蓝客联盟)是一个非商业性的民间网络技术机构,联盟进行有组织有计划的计算机与网络安全技术方面的研究、交流、整理与推广工作,提倡自由、开放、平等、互助的原则。同时还是一个民间的爱国团体,蓝盟的行动将时刻紧密结合时政,蓝盟的一切言论和行动都建立在爱国和维护中国尊严、主权与领土完整的基础上,蓝盟的声音和行动是中华民族气节的体现。中国蓝客联盟(LUC)简称蓝盟,组建于2001年10月1日。2002年4月,公安部门受外交部压力开始调查此次事件,蓝盟核心人员在当月受到公安机关的传讯、调查,计算机被收缴送往上级公安厅取证、调查。后联盟被告知必须无条件无限期关闭网站,并永久停止使用“蓝客联盟”名号。
2002年6月2日,蓝盟在IRC频道召开“中国蓝客联盟告别会”,与会几百位网友了解、见证了蓝盟的组建及被迫关闭的内幕。
中国蓝客联盟只有一个,那便是2001年10月至2002年6月间的 cnlanker.net,那是我们美好的回忆,那是
曾经一起分享胜利的喜悦、共同度过那些灰暗的日子的唯一见证。可惜的是如今这个域名已不在国人手上。
从2002年6月开始,任何自称蓝客联盟或蓝盟的组织、网站均属于其他网友的自发的个人行为,与最初的蓝盟
毫无任何关系。
现在的 cnlanker.com 是最初组建蓝盟的一群人的回忆,蓝盟永远不会重建。
飞客 —— 电信网络的先行者!
飞客,经常利用程控交换机的漏洞,进入并研究电信网络。
虽然他们不出名,但对电信系统作出了很大的贡献!
一.什么是黑客
在力求当一个黑客前,我们要先了解什么是黑客
Hacker -- 黑客
热衷研究、撰写程序的专才,且必须具备乐于追根究底、穷究问题的特质。
在黑客圈中,hacker一词无疑是带有正面的意义,例如system hacker熟悉操作系统的设计与维护;password hacker精于找出使用者的密码,若是computer hacker则是通晓计算机,可让计算机乖乖听话的高手。
黑客基本上是一项业余嗜好,通常是出于自己的兴趣,而非为了赚钱或工作需要。
根据开放原始码计划创始人Eric Raymond对此字的解释,hacker与cracker是分属两个不同世界的族群,基本差异在于,hacker是有建设性的,而cracker则专门搞破坏。
hacker原意是指用斧头砍材的工人,最早被引进计算机圈则可追溯自1960年代。
加州柏克莱大学计算机教授Brian Harvey在考证此字时曾写到,当时在麻省理工学院中(MIT)的学生通常分成两派,一是tool,意指乖乖牌学生,成绩都拿甲等;另一则是所谓的hacker,也就是常逃课,上课爱睡觉,但晚上却又精力充沛喜欢搞课外活动的学生。
这跟计算机有什么关系?一开始并没有。不过当时hacker也有区分等级,就如同tool用成绩比高下一样。真正一流hacker并非整天不学无术,而是会热衷追求某种特殊嗜好,比如研究电话、铁道(模型或者真的)、科幻小说,无线电,或者是计算机。也因此后来才有所谓的computer hacker出现,意指计算机高手。
对一个黑客来说,学会入侵和破解是必要的,但最主要的还是编程,毕竟,使用工具是体现别人的思路,而程序是自己的想法.一句话--编程实现一切!
对于一个骇客来说,他们只追求入侵的快感,不在乎技术,他们不会编程,不知道入侵的具体细节.
"黑客"在人们脑中的形象就是一个蓬头乱发,戴着高度眼镜,驼着背弓着腰,成天趴在电脑面前的人.其实黑客和正常人一模一样,他们并无什么特殊之处.有些人也许很少上电脑,成天运动,工作,但他们的技术和精神已经达到的黑客的标准,有些人天天爬在电脑前,到处瞎混,但他们仍不是黑客.
人们总是认为黑客就是破坏者,其实从某种意义上来说,黑客也在为计算机技术的发展做出很大的贡献.如果没有高明的黑客,就没有资深的网管;如果没有完美的木马,就没有杰出的杀毒软件;没有了黑客,网络技术就很难发展下去.当然,网管其实也是黑客,如果他不知道别人怎么进攻,自己要怎么防守呢??
黑客一词在圈外或媒体上通常被定义为:专门入侵他人系统进行不法行为的计算机高手。不过这类人士在hacker眼中是属于层次较低的cracker(骇客)。如果黑客是炸弹制造专家,那么CRACKER就是恐怖分子.
现在,网络上出现了越来越多的Cracker,他们只会入侵,使用扫描器到处乱扫,用IP炸弹炸人家,毫无目的地入侵,破坏着,他们并无益于电脑技术的发展,反而有害于网络的安全和造成网络瘫痪,给人们带来巨大的经济和精神损失.
我们不能做Cracker,我们要力求当HACKER!!
二.HACKING的预备网络知识
1.什么是IP
IP就是一个地址,在外网没有一个IP是相同的,它就像身份证号码一样,给每台进入网络的电脑一个身份证号码.但是对于大部分用户来说,这个号码是不固定的,在你重新连接到INTERNET时,IP可能会被重新分配.不过有些机器申请了固定的IP,这样就便于其他电脑找到它,并提供服务.一般的IP的格式为: a.b.c.d (0 = a,b,c,d = 255)例如 218.242.161.231 , 212.13.123.52 ..... 由192.168开头的是局域网的IP,127.0.0.1是用来检测网络的自己的IP.就是说任何一台电脑来说,不管是否连接到INTERNET上,127.0.0.1对于自己来说都是自己.就是说,每台电脑都是由4位的256进制数组成的.
2.什么是网络协议,数据包
网络协议就是一套双方约定好的通信协议.就像对暗号一样,有特定的约定来达成连接.其中的"数据包就是一个一个
(1) 面向连接的TCP协议
TCP是面向连接的.“面向连接”就是在正式通信前必须要与对方建立起连接。比如你给别人打电话,必须等线路接通了、对方拿起话筒才能相互通话。TCP(Transmission Control
Protocol,传输控制协议)是基于连接的协议,也就是说,在正式收发数据前,必须和对方建立可靠的连接。一个TCP连接必须要经过三次“对话”才能建立起来,其中的过程非常复杂,我们这里只做简单、形象的介绍,你只要做到能够理解这个过程即可。我们来看看这三次对话的简单过程:主机A向主机B发出连接请求数据包:“我想给你发数据,可以吗?”,这是第一次对话;主机B向主机A发送同意连接和要求同步(同步就是两台主机一个在发送,一个在接收,协调工作)的数据包:“可以,你什么时候发?”,这是第二次对话;主机A再发出一个数据包确认主机B的要求同步:“我现在就发,你接着吧!”,这是第三次对话。三次“对话”的目的是使数据包的发送和接收同步,经过三次“对话”之后,主机A才向主机B正式发送数据。TCP协议能为应用程序提供可靠的通信连接,使一台计算机发出的字节流无差错地发往网络上的其他计算机,对可靠性要求高的数据通信系统往往使用TCP协议传输数据。
(2) 面向非连接的UDP协议
“面向非连接”就是在正式通信前不必与对方先建立连接,不管对方状态就直接发送。这与现在风行的手机短信非常相似:你在发短信的时候,只需要输入对方手机号就OK了。UDP(User Data Protocol,用户数据报协议)是与TCP相对应的协议。它是面向非连接的协议,它不与对方建立连接,而是直接就把数据包发送过去!UDP协议是面向非连接的协议,没有建立连接的过程。正因为UDP协议没有连接的过程,所以它的通信效果高;但也正因为如此,它的可靠性不如TCP协议高。QQ就使用UDP发消息,因此有时会出现收不到消息的情况。
附表:tcp协议和udp协议的差别
| 属性\协议 |TCP |UDP |
|是否连接 |面向连接 |面向非连接|
|传输可靠性 |可靠 |不可靠 |
|应用场合 |大量数据 |少量数据 |
|速度 |慢 |快 |
(3)什么是端口(PORT)
PORT,意思为港口,但在电脑里叫端口.但是端口不是形象的,而是抽象的.电脑上有很多的端口(65535个),但是它们大部分都不开,每个网络连接都要用一个端口,就象把用一跟线把两个电脑连起来,插座就是端口.有些端口有他们特定的用途,例如网页服务器要开80端口,FTP服务器要开21端口
常用端口
21--ftp 下载
23--telnet 远程登陆,入侵后打开给自己留后门
25-smtp 尽管重要,但似乎没什么可利用的
53--domain 同上
79--finger 可知道用户信息了,但是现在很少了
80--http HTTP服务器
110--pop 收信的
139(445)--netbios 共享,远程登陆,很有价值,但是有经验的人不开
135--RPC 远程溢出的大洞的端口
3389--win2000超级终端
我们在入侵成功后就要为自己运行木马,打开一个端口,为自己以后回来留后门.
(4)什么是服务
服务就是SERVICE,例如要做HTTP服务器的就要安装World Wide Web Publishing服务.服务,是为他人提供服务的程序,这个程序会在开机时自动加载,并打开端口等待对方连接并向对方提供服务.我们可以在入侵对方机器后,启动或安装一些服务(SUCH AS 远程桌面,TELNET...),这些服务都是MICROSOFT的,所以不用担心被杀毒的发现.在开了一些远程管理的服务后,我们就可以很方便地回到被侵入过的主机了.
常见的服务列表:
名称 默认端口 98可装 2000Pro 2000SERVER
FTP 提供下载服务 21 x x o
SSH LINUX远程登陆 22 x x x
TELNET WINDOWS远程命令行管理 23 x o o
Simple Mail 邮件服务器 25 x x o
Finger 可以知道用户信息,现在很少了 79 x x x
WWW HTTP 网页服务器 80 x x o
pop2 一种邮件服务 109 x x o
pop3 同上 110 x x o
RpcDcom 最大的溢出漏洞的所在 135 x o默认 o默认
NetBios 共享,远程登陆,很有利用价值 139 o(无价值) o默认 o默认
REMOTE SERVICE 图形界面的远程登陆,最有价值 3389 x x o(强烈推荐)
(5)常用的工具
HACKER用的工具,大致可分这几种:
[1]扫描器
在攻击一个目标前要先了解对方开了什么端口,在扫肉鸡时要知道那些肉鸡开了端口可以被入侵.扫描器就是帮助你寻找攻击对象或了解攻击对象存在什么漏洞,开了什么端口.常用的扫描器有SUPERSCAN,X-SCAN,IP TOOLS....强烈推荐SUPERSCAN和X-SCAN.如果你在扫开端口的机器时,用SUPERSCAN,因为它快;在扫漏洞时,用X-SCAN,因为它功能全!!
[2]溢出工具
溢出就是把比一个寄存器能存放的东西还多的东西放到一个寄存器里,然后就造成溢出,使系统运行准备好了的SHELL CODE.
溢出的VB例子:
dim a as integer
a=111111111111111
在找到一些有溢出漏洞的机器后,就用溢出工具来对它进行溢出,然后直接拿到SHELL或帐号.
[3]后门程序
后门的服务端,安装在肉鸡上,开机自动等待对方控制.以前的后门都是一个标准的SOCKET在某个端口监听,但是这样很容易被发现,于是便出现了ICMP后门.但是现在的主流还是用TCP的后门.常用的后门有:冰河,TELNET(是WINDOWS的远程管理服务,用OPENTELNET可以远程开启TELNET服务!),DJXYXS.EXE(用来开SERVER的3389服务)
[4]连接工具
其实就是后门客户端.WINDOWS自带了很多,例如3389登陆器的MSTSC.EXE,TELNET客户端TELNET.EXE.......强烈推荐NC,它把许多网络功能汇集到了一起!
[5]破解密码程序
就是用很多的字符串来猜测密码.当猜不到时,就只好死算,A不行换B,B不行换C,C不行换D.......总之很浪费时间,密码长点1年都破不出来,不推荐
[6]进程程序
用来管理进程的,有PSECEC.EXE(远程开别人SHELL的,像TELNET一样,不过对方不需开),PSKILL.EXE(远程,本地杀进程),PSLIST.EXE(远程,本地查看进程).PS系列的3个程序是十分有用的,本人强烈推荐!!它不仅仅能够帮助你管理远程的肉鸡,而且在杀病毒时十分有用,它能杀掉WINDOWS TASK MANAGER杀不掉的进程.
(6)黑前准备
[1]首先,你要有一台能跑的电脑(这不是废话吗),
[2]是要有操作系统(最好是一个WINDOWS 2000 SERVER,一个LINUX,没LINUX也可以,2000PRO也可以,不过2000SERVER可以给自己练习,强烈推荐SERVER)
[3]有网络,最好是宽带,不是的话要有快的肉鸡才行.
[3]安装一个防火墙,推荐天网2.5.1
[4]注册一个QQ,有邮箱,注册一个空间(注册地址,支持FTP,WWW)
[5]别急,把前面的文章再看一便(别K我)
三.学习使用DOS基础命令
使用DOS是黑客最最基本的技能,每个人都要会熟练的使用DOS,使用2000的DOS,不用任何工具就可以完成一次入侵,而且大部分的工具都是在DOS窗口的环境下运行的,所以大家一定要学好!!
(1)如何启动DOS
这里说到的DOS,是XP,2000自带的DOS,98正因为对网络的支持很差,所以我们不能入侵98,也不能用98来入侵.所以用98的朋友请把98换成2000或者XP,NT,2003.
DOS在2000里就是CMD.EXE,98里是COMMAND.EXE(2000里也有COMMAND.EXE,不过这个DOS是不支持中文的).启动方法:开始,运行,CMD (或者COMMAND),确定.然后跳出来以下画面:
C:\documents and Settings\Administratorcmd
Microsoft Windows 2000 [Version 5.00.2195]
(C) 版权所有 1985-2000 Microsoft Corp.
C:\documents and Settings\Administrator
《黒客有什么可怕 设个陷阱逮住他》
如今网上黑客横行,稍不留神就可能被黑客光顾,避如前段时间我们空间商的服务器就被入侵了,数据都被删光了,所以要想在网上生存,做好安全措施是必不可少的。一般我们都只重视对机器进行安全设置,而往往忽略了被入侵后的信息收集问题,今天我就介绍三种让黑客留下痕迹的方法,希望能对大家有所帮助。
一、利用“木马”进行记录
1.木马简介
这里要用到的是一个很特殊的dll木马,它可以把通过终端登陆的用户名、密码,以及域信息记录到指定文件中。不要以为这些信息没什么用哦!有时候就得靠这些零散的信息来找入侵的人。
下载地址:;;down=1
在下载的压缩包内,有三个文件:
SysGina32.dll--这个就是可以记录用户名和密码的东东了。
Gina.exe--这是安装DLL木马用的程序,有了它后安装起来就很方便了。
使用方法.txt--这个很熟悉吧!中文帮助文件哦!有什么不懂的可以查查。
2.安装木马
先把SysGina32.dll和Gina.exe放在同一目录下,并将Gina.exe改名为svchost.exe(你也可以改成其它名字,为的是不让黑客注意到),然后打开CMD,切换到保存这两个文件的文件夹,输入命令:svchost.exe -install,当出现“All Done,Gina setup success”信息时,安装就成功了。
注意:
a.该木马已被杀毒软件查杀,所以安装时请关闭杀毒软件(不是关闭防火墙哦!),而且以后重启时杀毒软件不能一起启动,以后杀一次毒重新装一次该木马。不过如果你能让该木马不被杀毒软件的话,那就没这么麻烦了。
b.为了不让黑客发现我们设的陷阱,最好将Gina.exe文件改名,而且要改的艺术一点,比如上面我把它改成了“svchost.exe”,这样就很难发现了,如果你改成了其它名字,安装时命令就要换成“文件名.exe -install”。
c.SysGina32.dll和Gina.exe这两个文件不一定要复制到系统安装目录的system32下,不过最好不要太引人注意,如果被黑客发现,那就可能适得其反了(木马也会记下你的密码的)。
d.如果出现的信息是“Found Exist Gina”,这说明你机器已经装过该木马了,此时键入“Y”覆盖即可。
3.查看“踪迹”
经过以上设置后,如果有人通过终端服务登录你的机器,那么他的用户名和密码就会被记录到“C:\WINNT\system32\GinaPwd.txt”这个文件中,打开这文件就可以看到入侵者的踪迹了。由于该木马也会记录你的密码,所以每次进入机器时,请先打开GinaPwd.txt这文件,把你的用户名和密码删掉,顺便查一下有没有其它人登录过。
4.删除木马
如果你的机器不幸被人中了该木马,那么请按如下方法删除:
先下载该木马,在CMD下输入命令:gina.exe -remove,当出现“ Gina Dll was removed success”时(如图3),就表示删除成功了,接着重启机器即可。
注意:如果你把gina.exe改名了,命令也要做相应改变:文件名.exe -remove。
二、写个批处理记录黑客行踪
1.认识批处理
对于批处理文件,你可以把它理解成批量完成你指定命令的文件,它的扩展名为 .bat 或 .cmd,只要在文本文件中写入一些命令,并把它保存为.bat 或 .cmd格式,然后双击该文件,系统就会按文本文件中的命令逐条执行,这样可以节省你许多的时间。
2.编写批处理文件
打开记事本,然后输入如下命令:
@echo off
date /t d:\3389.txt
attrib +s +h d:\3389.bat
attrib +s +h d:\3389.txt
time /t d:\3389.txt
netstat -an |find "ESTABLISHED" |find ":3389" d:\3389.txt
然后把文件保存为d:\3389.bat,这里我解释一下命令的意思,date和time是用于获取系统时间的,这样可以让你知道黑客在某天的某个时刻入侵。“attrib +s +h d:\3389.bat”和“attrib +s +h d:\3389.txt”这两个命令是用来隐藏3389.bat和3389.txt这两个文件的,因为在登录时,由于会启动d:\3389.bat这个文件,所以会有一个CMD窗口一闪而过,有经验的黑客应该能判断出这窗口是记录用的,所以他可能会到处找这个记录文件,用了以上两个命令后,即使他用系统自带的搜索功能以3389为关键字进行搜索,也找不到上面3389.bat和3389.txt这两个文件,哈哈!很棒吧!至于“netstat -an |find "ESTABLISHED" |find ":3389" d:\3389.txt”这个命令则是记录通过终端的连结状况的,明白了吧!
接下来我们要让系统启动时自动运行d:\3389.bat这文件,我用的方法是修改注册表,依次展开:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Winlogon,找到“Userinit”这个键值,这个键值默认为c:\WINNT\system32\userinit.exe,不知你注意到没有,在最后有一个逗号,我们要利用的就是这逗号,比如我上面写的3389.bat文件路径为d:\3389.bat,那么我只要在逗号后面加上“d:\3389.bat”即可,这样启动时3389.bat这文件就会运行,选这个键值的原因是因为它隐蔽,如果是加在Run键值下的话是很容易被发现的。最后提醒一点,键值末尾的逗号别忘了加上去哦!
4.查看记录
前面我们用了attrib命令把3389.bat和3389.txt这两个文件隐藏起来,下面我们来让它们重新显示。
打开CMD,切换到保存这两个文件的路径,这里是切换到“d:\”目录,输入命令:attrib -s -h d:\3389.bat和attrib -s -h d:\3389.txt,这时再到d盘看看,是不是出现了?打开文件即可查看登录情况,从图中我们可以看出,10.51.5.36这IP连结到了我的3389端口(我的IP是10.51.5.35)。
三、记录黑客动作
有了以上两道防线,我们就能知道黑客的用户名、密码、以及入侵时的IP了,不过这样好像还不够,要是能知道黑客都干了些什么就更好了,下面我们再设置一个陷阱,这里要用到的工具是“计算机系统日志”。
下载地址:
该软件的特色就是可以在后台记录所有运行过的程序和窗口名称,并且有具体的时期,以及登录的用户名,很恐怖哦!下面咱们来设陷阱吧!
1.记录日志
双击压缩包内的主程序,点击“软件试用”进入主界面,在“日志文件保存路径”处点击“浏览”选择保存路径并进行命名,这里保存在c:\winnt\log.txt。然后钩选“日志记录随计算机自动启动”。
注意:
a.为了防止黑客找到记录日志的文件,你可以用上面提到的命令:attrib +s +h c:\winnt\log.txt进行隐藏。
b.最好不要将这个记录文件和上面的3389.txt放一个目录下,这样万一被发现其中一个,不至于使另一个也一同被发现。
c.软件在“任务管理器”的进程中显示名称为“syslog”,而且未注册版本会在20分钟后自动停止记录,所以只能用来对付菜鸟黑客啦!而且还得先花点“银子”,哈哈!
接下来在“程序密码保护”处输入一个复杂点的密码,点击“开始日志”。这时软件会提醒你隐藏后的热键为“Ctrl+Q”,请记住这个热键,以后要唤出软件时就得靠它了。
2.查看动作
想知道这样设置后记录下来的东西是什么样吗?那就快来看看吧。怎么样?对这种记录结果你还满意吗?
利用Java编写一个程序利用Socket和ServerSocket类,实现网络的点对点文件传输
服务器端代码,支持多用户访问,端口号9001:
package net;
import java.net.*;
import java.io.*;
public class Server extends Thread {
private ServerSocket serverSocket;
private Socket serverEndPoint;
private InputStream in;
private OutputStream out;
public Server() {
private Server(Socket serverEndPoint) {
this.serverEndPoint = serverEndPoint;
public void startService(int port) throws IOException, InterruptedException {
System.out.println("service started...");
serverSocket = new ServerSocket(port);
while (true)
new Server(serverSocket.accept()).start();
public void run() {
try {
in = serverEndPoint.getInputStream();
out = serverEndPoint.getOutputStream();
DataInputStream dis = new DataInputStream(in);
DataOutputStream dos = new DataOutputStream(out);
String request;
while (true) {
if ((request = dis.readUTF()) != null) {
if (request.trim().equals("bye")
|| request.trim().equals("exit")
|| request.trim().equals("quit"))
break;
System.out.println(serverEndPoint.getInetAddress()
.getCanonicalHostName()
+ " is getting '" + request.trim() + "'...");
File f = new File(request.trim());
if (!f.exists()) {
dos.writeBoolean(false);
dos.writeUTF("File '" + f.getPath()
+ "' doesn't exist!");
continue;
if (f.isDirectory()) {
dos.writeBoolean(false);
dos.writeUTF("'" + f.getPath() + "' is a folder!");
continue;
FileInputStream fis = new FileInputStream(f);
int i;
int count = 0;
byte[] buf = new byte[1024];
dos.writeBoolean(true);
dos.writeLong(f.length());
while ((i = fis.read(buf)) != -1) {
dos.write(buf, 0, i);
count += i;
fis.close();
Thread.sleep(1000);
dos.writeUTF("File '" + f.getName()
+ "' has been saved in the current folder.");
System.out.println("Connection to "
+ serverEndPoint.getInetAddress().getCanonicalHostName()
+ " is ready to close...");
Thread.sleep(5000);
dis.close();
dos.close();
serverEndPoint.close();
} catch (Exception e) {
e.printStackTrace();
public static void main(String[] args) {
try {
new Server().startService(90011);
} catch (Exception e) {
e.printStackTrace();
什么叫黑客!这属于一个好黑客还是属于一个坏黑客!
黑客
一名黑客(hacker)是一个喜欢用智力通过创造性方法来挑战脑力极限的人,特别是他们所感兴趣的领域,例如电脑编程或电器工程。
黑客最早源自英文hacker,早期在美国的电脑界是带有褒义的。但在媒体报导中,黑客一词往往指那些“软件骇客”(software cracker)。
黑客一词,原指热心于计算机技术,水平高超的电脑专家,尤其是程序设计人员。
但到了今天,黑客一词已被用于泛指那些专门利用电脑搞破坏或恶作剧的家伙。对这些人的正确英文叫法是Cracker,有人翻译成“骇客”。
黑客和骇客根本的区别是:黑客们建设,而骇客们破坏。
黑客一词一般有以下四种意义:
一个对(某领域内的)编程语言有足够了解,可以不经长时间思考就能创造出有用的软件的人。
一个恶意(一般是非法地)试图破解或破坏某个程序、系统及网络安全的人。这个意义常常对那些符合条件(1)的黑客造成严重困扰,他们建议媒体将这群人称为“骇客”(cracker)。有时这群人也被叫做“黑帽黑客”。
一个试图破解某系统或网络以提醒该系统所有者的系统安全漏洞。这群人往往被称做“白帽黑客”或“匿名客”(sneaker)或红客。许多这样的人是电脑安全公司的雇员,并在完全合法的情况下攻击某系统。
一个通过知识或猜测而对某段程序做出(往往是好的)修改,并改变(或增强)该程序用途的人。
“脚本小孩”则指那些完全没有或仅有一点点骇客技巧,而只是按照指示或运行某种骇客程序来达到破解目的的人
著名黑客
Richard Stallman--传统型大黑客,Stallman在1971年受聘成为美国麻省理工学院人工智能实验室程序员。
Ken Thompson和Dennis Ritchie--贝尔实验室的电脑科学操作组程序员。两人在1969年发明了Unix操作系统。
John Draper(以咔嚓船长,Captain Crunch闻名)--发明了用一个塑料哨子打免费电话
Mark Abene(以Phiber Optik而闻名)--鼓舞了全美无数青少年“学习”美国内部电话系统是如何运作的
Robert Morris--康奈尔大学毕业生,在1988年不小心散布了第一只互联网蠕虫。
Kevin Mitnick--第一位被列入fbi通缉犯名单的骇客。
Kevin Poulsen--Poulsen于1990年成功地控制了所有进入洛杉矶地区KIIS-FM电台的电话线而赢得了该电台主办的有奖听众游戏。
Vladimir Levin--这位数学家领导了俄罗斯骇客组织诈骗花旗银行向其分发1000万美元。
Steve Wozniak--苹果电脑创办人之一。
Tsotumu Shimomura--于1994年攻破了当时最著名黑客Steve Wozniak的银行帐户。
Linus Torvalds--他于1991年开发了著名的Linux内核,当时他是芬兰赫尔辛基大学电脑系学生。
Johan Helsingius--黑尔森尤斯于1996年关闭自己的小商店后开发出了世界上最流行的,被称为“penet.fi"的匿名回函程序,他的麻烦从此开始接踵而至。其中最悲惨的就是sceintology教堂抱怨一个penet.fi用户在网上张贴教堂的秘密后芬兰警方在1995年对他进行了搜查,后来他封存了这个回函程序。
Tsutomu Shimomura--能记起他是因为抓了米特尼克。
Eric Raymond--Eric Raymond就一直活跃在计算机界,从事各种各样的计算机系统开发工作。同时,Eric Raymond更热衷于自由软件的开发与推广,并撰写文章、发表演说,积极推动自由软件运动的发展,为自由软件作出了巨大贡献。他写的《大教堂和市集》等文章,是自由软件界的经典美文,网景公司就是在这篇文章的影响下决定开放他们的源代码,使浏览器成为了自由软件大家族中的重要一员.
一.什么是黑客
在力求当一个黑客前,我们要先了解什么是黑客
Hacker -- 黑客
热衷研究、撰写程序的专才,且必须具备乐于追根究底、穷究问题的特质。
在黑客圈中,hacker一词无疑是带有正面的意义,例如system hacker熟悉操作系统的设计与维护;password hacker精于找出使用者的密码,若是computer hacker则是通晓计算机,可让计算机乖乖听话的高手。
黑客基本上是一项业余嗜好,通常是出于自己的兴趣,而非为了赚钱或工作需要。
根据开放原始码计划创始人Eric Raymond对此字的解释,hacker与cracker是分属两个不同世界的族群,基本差异在于,hacker是有建设性的,而cracker则专门搞破坏。
hacker原意是指用斧头砍材的工人,最早被引进计算机圈则可追溯自1960年代。
加州柏克莱大学计算机教授Brian Harvey在考证此字时曾写到,当时在麻省理工学院中(MIT)的学生通常分成两派,一是tool,意指乖乖牌学生,成绩都拿甲等;另一则是所谓的hacker,也就是常逃课,上课爱睡觉,但晚上却又精力充沛喜欢搞课外活动的学生。
这跟计算机有什么关系?一开始并没有。不过当时hacker也有区分等级,就如同tool用成绩比高下一样。真正一流hacker并非整天不学无术,而是会热衷追求某种特殊嗜好,比如研究电话、铁道(模型或者真的)、科幻小说,无线电,或者是计算机。也因此后来才有所谓的computer hacker出现,意指计算机高手。
对一个黑客来说,学会入侵和破解是必要的,但最主要的还是编程,毕竟,使用工具是体现别人的思路,而程序是自己的想法.一句话--编程实现一切!
对于一个骇客来说,他们只追求入侵的快感,不在乎技术,他们不会编程,不知道入侵的具体细节.
"黑客"在人们脑中的形象就是一个蓬头乱发,戴着高度眼镜,驼着背弓着腰,成天趴在电脑面前的人.其实黑客和正常人一模一样,他们并无什么特殊之处.有些人也许很少上电脑,成天运动,工作,但他们的技术和精神已经达到的黑客的标准,有些人天天爬在电脑前,到处瞎混,但他们仍不是黑客.
人们总是认为黑客就是破坏者,其实从某种意义上来说,黑客也在为计算机技术的发展做出很大的贡献.如果没有高明的黑客,就没有资深的网管;如果没有完美的木马,就没有杰出的杀毒软件;没有了黑客,网络技术就很难发展下去.当然,网管其实也是黑客,如果他不知道别人怎么进攻,自己要怎么防守呢??
黑客一词在圈外或媒体上通常被定义为:专门入侵他人系统进行不法行为的计算机高手。不过这类人士在hacker眼中是属于层次较低的cracker(骇客)。如果黑客是炸弹制造专家,那么CRACKER就是恐怖分子.
现在,网络上出现了越来越多的Cracker,他们只会入侵,使用扫描器到处乱扫,用IP炸弹炸人家,毫无目的地入侵,破坏着,他们并无益于电脑技术的发展,反而有害于网络的安全和造成网络瘫痪,给人们带来巨大的经济和精神损失.
我们不能做Cracker,我们要力求当HACKER!!
二.HACKING的预备网络知识
1.什么是IP
IP就是一个地址,在外网没有一个IP是相同的,它就像身份证号码一样,给每台进入网络的电脑一个身份证号码.但是对于大部分用户来说,这个号码是不固定的,在你重新连接到INTERNET时,IP可能会被重新分配.不过有些机器申请了固定的IP,这样就便于其他电脑找到它,并提供服务.一般的IP的格式为: a.b.c.d (0 = a,b,c,d = 255)(该格式为点分10进制)例如 218.242.161.231 , IP的标准形式是2进制形式,例如212.13.123.52的2进制是110101000000000011010111101100110100 ..... 由192.168开头的是局域网的IP,127.0.0.1是用来检测网络的自己的IP.就是说任何一台电脑来说,不管是否连接到INTERNET上,127.0.0.1对于自己来说都是自己.就是说,每台电脑都是由4位的256进制数或32位的2进制数组成的.
2.什么是网络协议,数据包
网络协议就是一套双方约定好的通信协议.就像对暗号一样,有特定的约定来达成连接.其中的"数据包就是一个一个
(1) 面向连接的TCP协议
TCP是面向连接的.“面向连接”就是在正式通信前必须要与对方建立起连接。比如你给别人打电话,必须等线路接通了、对方拿起话筒才能相互通话。TCP(Transmission Control
Protocol,传输控制协议)是基于连接的协议,也就是说,在正式收发数据前,必须和对方建立可靠的连接。一个TCP连接必须要经过三次“对话”才能建立起来,其中的过程非常复杂,我们这里只做简单、形象的介绍,你只要做到能够理解这个过程即可。我们来看看这三次对话的简单过程:主机A向主机B发出连接请求数据包:“我想给你发数据,可以吗?”,这是第一次对话;主机B向主机A发送同意连接和要求同步(同步就是两台主机一个在发送,一个在接收,协调工作)的数据包:“可以,你什么时候发?”,这是第二次对话;主机A再发出一个数据包确认主机B的要求同步:“我现在就发,你接着吧!”,这是第三次对话。三次“对话”的目的是使数据包的发送和接收同步,经过三次“对话”之后,主机A才向主机B正式发送数据。TCP协议能为应用程序提供可靠的通信连接,使一台计算机发出的字节流无差错地发往网络上的其他计算机,对可靠性要求高的数据通信系统往往使用TCP协议传输数据。
(2) 面向非连接的UDP协议
“面向非连接”就是在正式通信前不必与对方先建立连接,不管对方状态就直接发送。这与现在风行的手机短信非常相似:你在发短信的时候,只需要输入对方手机号就OK了。UDP(User Data Protocol,用户数据报协议)是与TCP相对应的协议。它是面向非连接的协议,它不与对方建立连接,而是直接就把数据包发送过去!UDP协议是面向非连接的协议,没有建立连接的过程。正因为UDP协议没有连接的过程,所以它的通信效果高;但也正因为如此,它的可靠性不如TCP协议高。QQ就使用UDP发消息,因此有时会出现收不到消息的情况。
附表:tcp协议和udp协议的差别
| 属性\协议 |TCP |UDP |
|是否连接 |面向连接 |面向非连接|
|传输可靠性 |可靠 |不可靠 |
|应用场合 |大量数据 |少量数据 |
|速度 |慢 |快 |
(3)什么是端口(PORT)
PORT,意思为港口,但在电脑里叫端口.但是端口不是形象的,而是抽象的.电脑上有很多的端口(65535个),但是它们大部分都不开,每个网络连接都要用一个端口,就象把用一跟线把两个电脑连起来,插座就是端口.有些端口有他们特定的用途,例如网页服务器要开80端口,FTP服务器要开21端口
常用端口
21--ftp 下载
23--telnet 远程登陆,入侵后打开给自己留后门
25-smtp 尽管重要,但似乎没什么可利用的
53--domain 同上
79--finger 可知道用户信息了,但是现在很少了
80--http HTTP服务器
110--pop 收信的
139(445)--netbios 共享,远程登陆,很有价值,但是有经验的人不开
135--RPC 远程溢出的大洞的端口
3389--win2000超级终端
我们在入侵成功后就要为自己运行木马,打开一个端口,为自己以后回来留后门.
(4)什么是服务
服务就是SERVICE,例如要做HTTP服务器的就要安装World Wide Web Publishing服务.服务,是为他人提供服务的程序,这个程序会在开机时自动加载,并打开端口等待对方连接并向对方提供服务.我们可以在入侵对方机器后,启动或安装一些服务(SUCH AS 远程桌面,TELNET...),这些服务都是MICROSOFT的,所以不用担心被杀毒的发现.在开了一些远程管理的服务后,我们就可以很方便地回到被侵入过的主机了.
常见的服务列表:
名称 默认端口 98可装 2000Pro 2000SERVER
FTP 提供下载服务 21 x x o
SSH LINUX远程登陆 22 x x x
TELNET WINDOWS远程命令行管理 23 x o o
Simple Mail 邮件服务器 25 x x o
Finger 可以知道用户信息,现在很少了 79 x x x
WWW HTTP 网页服务器 80 x x o
pop2 一种邮件服务 109 x x o
pop3 同上 110 x x o
RpcDcom 最大的溢出漏洞的所在 135 x o默认 o默认
NetBios 共享,远程登陆,很有利用价值 139 o(无价值) o默认 o默认
REMOTE SERVICE 图形界面的远程登陆,最有价值 3389 x x o(强烈推荐)
(5)常用的工具
HACKER用的工具,大致可分这几种:
[1]扫描器
在攻击一个目标前要先了解对方开了什么端口,在扫肉鸡时要知道那些肉鸡开了端口可以被入侵.扫描器就是帮助你寻找攻击对象或了解攻击对象存在什么漏洞,开了什么端口.常用的扫描器有SUPERSCAN,X-SCAN,IP TOOLS....强烈推荐SUPERSCAN和X-SCAN.如果你在扫开端口的机器时,用SUPERSCAN,因为它快;在扫漏洞时,用X-SCAN,因为它功能全!!
[2]溢出工具
溢出就是把比一个寄存器能存放的东西还多的东西放到一个寄存器里,然后就造成溢出,使系统运行准备好了的SHELL CODE.
溢出的VB例子:
dim a as integer
a=111111111111111
在找到一些有溢出漏洞的机器后,就用溢出工具来对它进行溢出,然后直接拿到SHELL或帐号.
[3]后门程序
后门的服务端,安装在肉鸡上,开机自动等待对方控制.以前的后门都是一个标准的SOCKET在某个端口监听,但是这样很容易被发现,于是便出现了ICMP后门.但是现在的主流还是用TCP的后门.常用的后门有:冰河,TELNET(是WINDOWS的远程管理服务,用OPENTELNET可以远程开启TELNET服务!),DJXYXS.EXE(用来开SERVER的3389服务)
[4]连接工具
其实就是后门客户端.WINDOWS自带了很多,例如3389登陆器的MSTSC.EXE,TELNET客户端TELNET.EXE.......强烈推荐NC,它把许多网络功能汇集到了一起!
[5]破解密码程序
就是用很多的字符串来猜测密码.当猜不到时,就只好死算,A不行换B,B不行换C,C不行换D.......总之很浪费时间,密码长点1年都破不出来,不推荐
[6]进程程序
用来管理进程的,有PSECEC.EXE(远程开别人SHELL的,像TELNET一样,不过对方不需开),PSKILL.EXE(远程,本地杀进程),PSLIST.EXE(远程,本地查看进程).PS系列的3个程序是十分有用的,本人强烈推荐!!它不仅仅能够帮助你管理远程的肉鸡,而且在杀病毒时十分有用,它能杀掉WINDOWS TASK MANAGER杀不掉的进程.
(6)黑前准备
[1]首先,你要有一台能跑的电脑(这不是废话吗),
[2]是要有操作系统(最好是一个WINDOWS 2000 SERVER,一个LINUX,没LINUX也可以,2000PRO也可以,不过2000SERVER可以给自己练习,强烈推荐SERVER)
[3]有网络,最好是宽带,不是的话要有快的肉鸡才行.
[3]安装一个防火墙,推荐天网2.5.1
[4]注册一个QQ,有邮箱,注册一个空间(注册地址,支持FTP,WWW)
[5]别急,把前面的文章再看一便(别K我)
三.学习使用DOS基础命令
使用DOS是黑客最最基本的技能,每个人都要会熟练的使用DOS,使用2000的DOS,不用任何工具就可以完成一次入侵,而且大部分的工具都是在DOS窗口的环境下运行的,所以大家一定要学好!!
(1)如何启动DOS
这里说到的DOS,是XP,2000自带的DOS,98正因为对网络的支持很差,所以我们不能入侵98,也不能用98来入侵.所以用98的朋友请把98换成2000或者XP,NT,2003.
DOS在2000里就是CMD.EXE,98里是COMMAND.EXE(2000里也有COMMAND.EXE,不过这个DOS是不支持中文的).启动方法:开始,运行,CMD (或者COMMAND),确定.然后跳出来以下画面:
C:\documents and Settings\Administratorcmd
Microsoft Windows 2000 [Version 5.00.2195]
(C) 版权所有 1985-2000 Microsoft Corp.
C:\documents and Settings\Administrator
1黑客的兴起
黑客最早始于20 世纪50年代,最早的计算机1946年在宾夕法尼亚大学出现,而最早的黑客出现于麻省理式学院,贝尔实验室也有。最初的黑客一般都是一些高级的技术人员,他们热衷于挑战、崇尚自由并主张信息的共享。
1994年以来,因特网在全球的迅猛发展为人们提代了方便、自由和无限的财富,政治、军事、经济、科技、教育、文化等各个方面都越来越网络化,并且逐渐成为人们生活、娱乐的一部分。可以说,信息时代已经到来,信息已成为物质和能量以外维持人类社会的第三资之出源,它是未来生活中的重要介质。随着计算机的普及和因特网技术的迅速发展,黑客也随之出现了。
2黑客的定义与特征
“黑客”一词是由英语Hacker英译出来的,是指专门研究、发现计算机和网络漏洞的计算机爱好者。他们伴随着计算机和网络的发展而产生成长。黑客对计算机有着狂热的兴趣和执着的追求,他们不断地研究计算机和网络知识,发现计算机和网络中存在的漏洞,喜欢挑战高难度的网络系统并从中找到漏洞,然后向管理员提出解决和修补漏洞的方法。
黑客不干涉政治,不受政治利用,他们的出现推动了计算机和网络的发展与完善。黑客所做的不是恶意破坏,他们是一群纵横与网络上的大侠,追求共享、免费,提倡自由、平等。黑客的存在是由于计算机技术的不健全,从某中意义上来讲,计算机的安全需要更多黑客去维护。借用myhk的一句话“黑客存在的意义就是使网络变的日益安全完善”。
但是到了今天,黑客一词已经被用于那些专门利用计算机进行破坏或入侵他人的代言词,对这些人正确的叫法应该是cracker,有人也翻译成“骇客”,也正是由于这些人的出现玷污了“黑客”一词,使人们把黑客和骇客混为一体,黑客被人们认为是在网络上进行破坏的人。
一个黑客即使从意识和技术水平上已经达到黑客水平,也决不会声称自己是一名黑客,因为黑客只有大家推认的,没有自封的,他们重视技术,更重视思想和品质。
3黑客的态度
Hacker 们解决了问题并创造新东西, 他们相信自由并自愿的互相帮助. 想要被别人接受成为一位 hacker, 你必须发自内心的表现出这种态度. 为了要很自发的表现出这种态度, 你就必须先完全认同这些态度.
如果你只是把学习 hacker 态度这件事当作一种能在这个文化赢得认同的途径,那么你已经忽略了真正的重点. 由衷的接受这些态度是很这要的, 这能帮助你学习并维持你的动机. 就像那些具创造性的艺术一样, 成为一位大师的最有效方法是学习大师们的精神; 并不只是学习知识和情绪而已.所以, 如果你想要成为一位 hacker, 请反复的做下面的事情, 直到你完全领会它们:
1. 这世上充满著等著被解决的迷人问题.
作为一个 hacker 是充满快乐的, 但这是一种因为努力得到成果所带来的快乐. 努力的成果则带来动机. 成功的运动家的动机则来自于, 使他们的身体不断进化,并把自己推向物理上的极限所带来的快乐. 类似的情形, 要成为 hacker, 你必须要能从解决问题, 精进技术, 和运用知识的过程中感受到一种悸动.如果你不是天生就能感受到这种悸动的人, 那么, 为了要成为 hacker, 你必须使自己变成这样的人. 否则, 你会发现你的 hacking energy 就会像性, 金钱, 和社交活动一样, 因为分心而被消磨掉.(你也必须为你的学习能力建立一种信念直到你完成你的工作 -- 即使你只处理一小部份, 而你也不知道你到底还要学些什么东西才有辨法解决你的问题, 但是你会努力学习, 准备充足, 以应付下一个问题.)
2. 没有任何人必须一再的解决同一个问题.
富创造力的头脑是贵重而有限的资源. 有这么多迷人的新问题在那等著被解决.因此富创造力的头脑不该被浪费的用来重复发明轮子.身为一位 hacker, 你必须了解到其它 hacker 们的时间也是很宝贵的 -- 所以,分享资讯, 解决问题和提供解决方案给其它 hacker 以解决新的问题, 这些几乎算是道义上的责任.( 即使 hacker 们所拥有的大多是从其它 hacker 的身上得来的, 但这并不意味你必需把你创造的作品全部交出来, 你可以卖出足够数量的产品, 以求得温饱, 给付房租和买电脑设备, 这和 hacker 的价值观并不相违背. 使用你的 hacking 技能以供给一个家庭的生活, 甚至是致富, 只要你仍不忘记你是一位 hacker, 那么这些行为并不会产生矛盾. )
3. 无聊而单调的工作是有害的.
Hacker们(有创造力的人也是一样)永远不该做一些无聊而单调并且愚蠢的反复性工作. 因为, 如果这样的事情发生的话, 这表示他们正在做一些不是他们该做的事-- 解决新的问题. 这样的浪费对任何人而言都是一种伤害. 无聊单调的工作不只是无趣而已, 而且是一种有害的物质.要做为一位 hacker 要能尽可能的自动避免无聊, 对此你必须有相当的认知. 这不只是为了你自己而已, 也是为了所有的人(尤其是其它的 hacker).(这有一些例外. 有时候 hacker 们会去做一些被认为无聊或重复性的工作, 当做脑力的训练, 或是为了要学习得某种技能或某种你所没有的特殊经验. 不过这是一种选择, 任何人都不该被强迫面对无聊事. )
4. 自由才好.
hacker们天性上是反对独裁的. 任何一个给你命令的人就能给你一个独裁式的工作,
并且可以给你一些笨的可以的理由, 停止你解决任何吸引著你的问题. 所以任何独裁式
的行为都会被挑战, 以免会危害到你和其它的 hacker 们.(这和为反对而反对是不同的, 小孩子是需要被指导和阻止他们犯错. hacker 也会同意接受某些权威, 照著指示做以较短的时间得到他想要的. 不过那是一种有限且理性的协定; ..... )专制在监察和保密这些事上是很有效的方法. 这些行使专制的人并不相信自愿性质的合作和资讯分享 -- 他们只相信在他们控制之下的合作关系. 所以, 身为一位 hacker,你必具有一种敌对的天性, 以对抗监察, 秘密和使用外力强迫或迷惑可以信任的人等行为. 你必须以互信做为你行为的基础.
5. 态度并非不等效于能力
要成为一位 hacker, 你必须开始培养这些态度. 但, 如果你只是单独的模仿某一种态度, 这并不能使你成为一位真正的 hacker, 也不会使你成为一位运动冠军或摇滚明星.因此, 你必须学会猜疑态度和尊敬各种能力. Hacker 们不会想浪费时间在虚华的人的身上, 他们尊敬的是能力 -- 特别是身为 hacker 的能力, 但对于其它方面的能力也是充满敬意. 如果有能力追求一些很少人能弄懂的技术,追求精神上的技巧, 并能集中精神, 那就再好不过了.
如果你尊敬各种的能力, 那么你就会乐于自己发展这些能力 -- 这会使的努力工作和奉献成为一种刺激性的消遣而非一份苦差事. 这对于想要成为 hacker 的人而言, 是很重要的.
4黑客守则
如下:
1。不恶意破坏任何的系统,这样只会给你带来麻烦。恶意破坏他人的软体将导致法律责任,如果你只是使用电脑,那仅为非法使用!!注意:千万不要破坏别人的软体或资料!!,
2。不修改任何的系统档,如果你是为了要进入系统而修改它,请在达到目的后将它改回原状。
3。不要轻易的将你要hack的站台告诉你不信任的朋友。
4。不要在bbs上谈论你hack的任何事情。
5。在post文章的时候不要使用真名。
6。正在入侵的时候,不要随意离开你的电脑。
7。不要侵入或破坏政府机关的主机。
8。不要在电话中谈论你hack的任何事情。
9。将你的笔记放在安全的地方。
10。想要成为hacker就要真正的hacking,读遍所有有关系统安全或系统漏洞的文件(英文快点学好)!
11。已侵入电脑中的帐号不得清除或涂改。
12。不得修改系统档案,如果为了隐藏自己的侵入而做的修改则不在此限,但仍须维持原来系统的安全性,不得因得到系统的控制权而将门户大开!!
13。不将你已破解的帐号分享于你的朋友。
自觉遵守吧,黑客们~~~~
作为一名黑客道德是非常重要的,这往往决定一个黑客的前途和命运。如果开始学习的时候就是为了扬名或非法获利,那就不能称之为黑客。但是虚拟的网络世界不能用现实中的规范去管理,而黑客又是在这个虚拟世界里最渴望自由和共享的。虽然网络上的黑客道德或守则出现很多,也有很多黑客章程,但是这些所谓的道德往往成为一张白纸,而黑客们真正遵守的是来自内心真诚的道德,是一种信仰而不是人为的外在的一种守则。也只有这些来自于黑客们内心中的道德才可以真正的约束他们。
当然有很多黑客守则是值得我们去学习和自我约束的。比如:爱国,远离政治和权利斗争;同情弱者,站在霸权的对立面;低调,克制自我表现欲望等等。。。
[附]黑客精神
Hacker 这个词是用来形容那些热衷于解决问题、克服限制的人的。从这个意义上讲,hacker 并不单单指(限制于)电子、计算机或网络 hacker ,hacker的特质不是处于某个环境中的人所特有的,hacker 的特质可以发挥在其他任何领域,例如音乐或艺术等方面。事实上,你可以发现,在任何一种科学或艺术的最高境界,那可以看到 hacker 的特质。
黑客精神指的就是善于独立思考、喜欢自由探索的一种思维方式。有一位哲人曾说过,“精神的最高境界是自由”,黑客精神正是这句话的生动写照。看看黑客是怎样看待、思考并解决问题的,我们就能更直观、更深刻地理解黑客精神的蕴涵。
首先,黑客对新鲜事物很好奇,这一点和小孩子有点儿相似。实际上,有很多酿成重大后果的黑客事件都是十几岁的孩子干出来的。想必大家还记得黑客入侵美国白宫、国防部、空军网站的事,最后美国联邦调查局追查出来的“凶手”竟是一名16岁的以色列少年;二月黑客事件所发现的嫌疑犯是一名20岁的德国青年。连世界级的计算机安全专家都纳闷:这些“小孩子”到底是怎样进入那些层层设防、固若金汤的信息系统的?答案只有一个:强烈的好奇心。黑客对各种新出现的事物特别好奇,他们到处下载、使用、测评新软件
c# 利用socket实现网络编程时为什么要引入线程 有什么作用
发消息这样的要看具体应用和使用的协议,最简单的情况下,只建立一个socket,好比是拨通一通电话理,A这边说了2句话。B说了3句话,但都还是在这一个socket通道上。
服务端引入线程是为了同一时间可以处理多个客户端请求,一般服务端每接受到一个socket连接就要新建一个线程(或是从
线程池
中取一个空闲进程。)
客户端引入线程一般就是让用户不用在那死等,比如发送一个100M的数据,如果直接在界面线程里面操作socket,那么在发送完成之前界面都是处于假死状态的。这时需要把发送单独放一个线程里面,界面线程定期来查询发送的状态。
求c#中利用socket连接客户端和服务器的框图及讲解
你说的比较模糊,利用socker连接 其实和tcp连接差不多,
我可以发一下我以前的代码你参考下:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Net;
using System.Net.Sockets;
using System.Threading;
namespace test4_2
public partial class Form1 : Form
Socket connectSocket;
//Socket client;
byte[] bytes = new byte[1024];
delegate void listboxDel(string s);
listboxDel listboxdel;
public Form1()
InitializeComponent();
textBoxContent.Focus();
listboxdel = new listboxDel(listbox);
//为连接指派线程
Thread threadConnect = new Thread(new ThreadStart(Connect));
threadConnect.Start();
public void listbox(string str)
listBox1.Items.Add(str);
listBox1.SelectedIndex = listBox1.Items.Count - 1;
listBox1.ClearSelected();
//连接方法
public void Connect()
try
//建立连接socket
connectSocket = new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);
//开始异步连接
connectSocket.BeginConnect(IPAddress.Parse("172.16.94.152"),
82,
new AsyncCallback(ConnectCallback), //定义回调函数代理
connectSocket); //传递给回调函数的状态
catch (Exception e)
MessageBox.Show(e.Message);
//连接方法的回调函数
private void ConnectCallback(IAsyncResult ar)
try
//从传递的状态中获取套接字,创建一个客户端套接字
Socket client = (Socket)ar.AsyncState;
//完成挂起的连接操作
client.EndConnect(ar);
listBox1.Invoke(listboxdel, "连接服务器成功,可以开始通话!");
client.BeginReceive(bytes, 0, 1000, 0, new AsyncCallback(receivecallback), client);
catch (Exception e)
Console.WriteLine(e.ToString());
public void receivecallback(IAsyncResult ar)
try
Socket client = (Socket)ar.AsyncState;
int length = client.EndReceive(ar);
listBox1.Invoke(listboxdel, Encoding.UTF8.GetString(bytes, 0, length));
client.BeginReceive(bytes, 0, 1000, 0, new AsyncCallback(receivecallback), client);
catch
//发送方法
private void Send(String data)
//使用ASCII转换字符串为字节序列
byte[] byteData = Encoding.UTF8.GetBytes(data); //将字符串转换成字节序列
//开始向远端设备发送数据
connectSocket.BeginSend(byteData, 0, byteData.Length, SocketFlags.None,
new AsyncCallback(SendCallback), connectSocket);
//发送方法的回调函数
private void SendCallback(IAsyncResult ar)
try
//从传递的状态中获取套接字,创建一个客户端套接字
Socket client = (Socket)ar.AsyncState;
//结束异步数据传输操作,返回传输的字节数
int bytesSent = client.EndSend(ar);
listBox1.Invoke(listboxdel, textBoxUser.Text +":"+ textBoxContent.Text);
catch (Exception e)
MessageBox.Show(e.ToString());
private void buttonSend_Click(object sender, EventArgs e)
Send(textBoxUser.Text+":"+textBoxContent.Text);
(以咔嚓船长,Captain Crunch闻名)--发明了用一个塑料哨子打免费电话 Mark Abene(以Phiber Optik而闻名)--鼓舞了全美无数青少年“学习”美国内部电话系统是如何运作的 Robert Morris--
要的还是编程,毕竟,使用工具是体现别人的思路,而程序是自己的想法.一句话--编程实现一切! 对于一个骇客来说,他们只追求入侵的快感,不在乎技术,他们不会编程,不知道入侵的具体细节. "黑客"在人们脑中的形象就是一个蓬头乱发,戴着高度眼镜,驼着背
(Exception e) { MessageBox.Show(e.ToString()); } }