linux网络内核
文章平均质量分 85
abc78400123
学生而已
展开
-
udp_sendmsg漏洞(一)--介绍
对于该漏洞的描述,来自于http://blog.cr0.org/。 本文将转载该漏洞的描述,以及个人对该漏洞的理解。在随后的第二篇和三篇中将分别贴出漏洞产生的原因代码以及漏洞利用代码和总结。 【警告:本文中列出的代码仅限于学习和研究使用。任何用于非法用途的,请自行转载 2011-08-17 15:42:09 · 1317 阅读 · 0 评论 -
ip_queue_xmit函数
int ip_queue_xmit(struct sk_buff *skb, int ipfragok) { struct sock *sk = skb->sk; struct inet_sock *inet = inet_sk(sk);转载 2011-08-17 19:42:30 · 1184 阅读 · 0 评论 -
为什么有了sock结构还弄个inet_sock结构?
/* 1、每一个打开的文件、socket等等都用一个file数据结构代表,这样文件和socket就通过inode->u(union)中的各个成员来区别: struct inode { ..................... union { stru转载 2011-08-17 19:55:14 · 2055 阅读 · 0 评论 -
udp_sendmsg漏洞(三)--漏洞利用的源码及分析
我们在系列的第一篇《udp_sendmsg漏洞(一)--介绍》(以下简称文一)中提到利用该漏洞的代码,其中一个是p0c73n1提供的源代码:http://www.milw0rm.com/exploits/9542。我们将在后面列出。这里,简要的分析一下spender提供的源码:h转载 2011-08-17 19:00:42 · 950 阅读 · 0 评论 -
struct msghdr
我们从一个实际的数据包发送的例子入手,来看看其发送的具体流程,以及过程中涉及到的相关数据结构。在我们的虚拟机上发送icmp回显请求包,ping另一台主机172.16.48.1。我们使用系统调用sendto发送这个icmp包。 ssize_t sendto(int转载 2011-08-17 16:07:10 · 3161 阅读 · 0 评论 -
TCP的prequeue分析
TCP的处理中有三个queue: receive queue, backlog queue和prequeue。正常情况下是receive queue来接受数据包包,并把它传送给socket。如果receive queue满了或者是被用户进程锁住了,那么和诉据报将会被添加到ba转载 2011-08-17 14:53:19 · 612 阅读 · 0 评论 -
struct socket详解
用户使用socket系统调用编写应用程序时,通过一个数字来表示一个socket,所有的操作都在该数字上进行,这个数字称为套接字描述符。在系统调用 的实现函数里,这个数字就会被映射成一个表示socket的结构体,该结构体保存了该socket的所有属性和数据。在内核的协议中实现中,关转载 2011-08-18 09:41:01 · 1002 阅读 · 0 评论 -
udp_sendmsg函数分析
声明:本人也是初学者,错误在所难免,希望大家发现后能指出,不胜感激。愿共同进步480 int udp_sendmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg, size_t len)482 {/原创 2011-08-18 14:43:15 · 3266 阅读 · 0 评论 -
net/ipv4/route.c
http://www.cs.ccu.edu.tw/~cwr87u/Project_undergraduate/linux_firewall/www/net/ipv4/route.c.htmlnet/ipv4/route.cauthor: elvis目錄介紹转载 2011-08-18 09:26:11 · 824 阅读 · 0 评论