在Linux中,UDP是否对传入和传出数据包使用相同的缓冲区?
如果我想要溢出这个缓冲区,那么无论我用C语言还是用Python编写代码都没关系,对吗?
答案 0 :(得分:1)
linux内核没有为每个数据包定义一个或一组缓冲区,但是当数据向上/向下传递到更高层(2层及更高层)时,动态创建和销毁许多缓冲区。
请参阅关于linux网络的这篇非常详细的文章,特别是关于如何将缓冲区连接到nic以进行传输的第4页,然后在传输完成后立即销毁:http://www.linuxjournal.com/article/1312?page=0,0
对于溢出缓冲区,显然你需要一个能够手动内存操作的语言,但是linux缓冲区是一个与控制结构相关的内存位置,因此如果没有控制系统干扰,你可能无法溢出它。