• 对网络传输 ”突然中断“的一次分析


    目前是直接使用systemp 工具 检查ip_output部分逻辑:简写代码如下所示

    #! /usr/bin/env stap
    %{
    #include <linux/in.h>
    #include <linux/inet.h>
    #include <net/inet_sock.h>
    #include <linux/string.h>
    #include <linux/errno.h>
    #include <linux/highmem.h>
    #include <linux/slab.h>
    
    #include <linux/socket.h>
    #include <linux/sockios.h>
    #include <linux/in.h>
    %}
    
    function get_sock_tproxy:long(sock:long)
    {
        sk = sock;
        val = @cast(sk, "inet_sock")->transparent;
    
        return val;
    }
    
    probe kernel.function("ip_finish_output2@net/ipv4/ip_output.c:282"){
        tmpsk = $skb->sk;
        val = get_sock_tproxy(tmpsk)
        printf("%6d %16s %6d 0X%6x %16s -> %s  tarnsp:%d 
    ", uid(), execname(), pid(),
               tmpsk->sk_protocol, inet_get_ip_source(tmpsk), probefunc(), val)
    #printf("dump stack: %s
    ", print_backtrace())
    }

    编译方式:

    stap -v -r /home/public/linux-4.4.131/ -a arm64 -B CROSS_COMPILE=aarch64-linux-gnu- -g -p 4 -m ip_out_fin.ko ./share/systemtap/examples/network/ip_finish_output2.stp

    根据其skb相关值判断出问题

    由于涉及公司相关信息 就简单的写一写了! 此文章只是为了展示处理问题的相关方法技巧

    关于使用systemp hack malloc 以及free 晚点加上

     test

    http代理服务器(3-4-7层代理)-网络事件库公共组件、内核kernel驱动 摄像头驱动 tcpip网络协议栈、netfilter、bridge 好像看过!!!! 但行好事 莫问前程 --身高体重180的胖子
  • 相关阅读:
    oo第二次博客作业
    oo第一次博客作业
    软件工程第3次作业 | 提问回顾与个人总结
    软件工程第2次作业 | 结对项目-最长单词链
    软件工程第1次作业 | 第一次阅读
    软件工程第0次作业 | 热身
    OO第四次博客作业
    OO第三次博客作业
    OO第二次博客作业
    OO第一次博客作业
  • 原文地址:https://www.cnblogs.com/codestack/p/15029268.html
Copyright © 2020-2023  润新知