亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

Chinaunix

標(biāo)題: 幫幫我!linux2.6以后怎么從struct sk_buff中提取出ip port并打印出來 [打印本頁]

作者: 1581526111    時間: 2016-08-30 11:12
標(biāo)題: 幫幫我!linux2.6以后怎么從struct sk_buff中提取出ip port并打印出來
幫幫我!linux2.6以后怎么從struct sk_buff中提取出ip port并打印出來
幫幫我!linux2.6以后怎么從struct sk_buff中提取出ip port并打印出來
幫幫我!linux2.6以后怎么從struct sk_buff中提取出ip port并打印出來
幫幫我!linux2.6以后怎么從struct sk_buff中提取出ip port并打印出來
作者: Godbach    時間: 2016-08-30 13:26
回復(fù) 1# 1581526111
看論壇置頂?shù)木A帖。



作者: 1581526111    時間: 2016-08-30 13:37
已解決   謝謝版主大哥
static int check_ip_packet(struct sk_buff *skb)
{
    __be32 sip,dip;  
    printk("<0>" "skb=%p\n",skb);
    if(skb){  
        printk("<0>" "in skb\n");
        struct sk_buff *sb = NULL;  
        sb = skb;  
        struct iphdr *iph;  
        iph  = ip_hdr(sb);  
        if(!iph){
            return -1;
          }
        printk("<0>" "ipd is not null\n");
        sip = iph->saddr;  
        dip = iph->daddr;  
        printk("<0>" "Packet for source address: %d.%d.%d.%d\n destination address: %d.%d.%d.%d\n ", NIPQUAD(sip), NIPQUAD(dip));  
    }

    return 0;
}
作者: Godbach    時間: 2016-08-30 13:50
回復(fù) 3# 1581526111




作者: 1581526111    時間: 2016-08-30 15:26
拿到端口的地址類型是__be16,該怎么把它變成數(shù)字呀
作者: Godbach    時間: 2016-08-31 01:05
1581526111 發(fā)表于 2016-08-30 15:26
拿到端口的地址類型是__be16,該怎么把它變成數(shù)字呀

__be16 本身就是數(shù)值類型啊,只是代表 big edian 的意思,告訴你這個字節(jié)序是大端的。你用的時候要注意。
作者: Godbach    時間: 2016-08-31 01:06
回復(fù) 5# 1581526111

直接用 printk 打印16 進(jìn)制結(jié)果出來,然后感受一下和你認(rèn)為的 IP 地址是否對應(yīng),順便感受下網(wǎng)絡(luò)字節(jié)序的問題。


作者: 1581526111    時間: 2016-09-03 14:52
多謝指點(diǎn),已經(jīng)解決了  ntohs(_be16)    n:net   h:host    s:short   我這么理解不造有錯沒




歡迎光臨 Chinaunix (http://www.72891.cn/) Powered by Discuz! X3.2