linux 高级网络编程之自定义ip报文头 Dos

一,前言

    Dos(Denial of Service) 即拒绝服务攻击。在建立tcp连接过程中,有三次握手过程,假如客户端向服务器发送连接请求,服务器收到请求并准备建立连接,但客户端假如迟迟不确认连接将损耗服务器的资源。如果这样的请求多了,将严重影响服务器工作。这就是Dos 攻击的基本原理。然而由于单台客户端发送的客户端请求很有限,一般很难对处理能力强的服务器造成影响,所以Dos攻击在实际使用过程中一般采用DDos(Distribute Deny of Service ),分布式拒绝服务攻击,控制多台肉机客户端同时向服务器发送连接请求,以达到使服务器不能工作的目的。


二, 要点及原理分析

    1. 于需要用伪造的ip地址, 所以需要自定义ip头, 这需要对套接字属性进行设置:

int opt = 1;
setsockopt(sockfd, IPPROTO_IP, IP_HDRINCL, &opt, sizeof(opt));
    2. 为了更方便的填充ip报文头及tcp报文头, 这里需要用到 struct ip 以及 struct tcphdr:

struct ip 

struct ip
  {
#if __BYTE_ORDER == __LITTLE_ENDIAN
    unsigned int ip_hl:4; /* header length */
    unsigned int ip_v:4; 
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值