一般来说,ip包的抓取和转发可以用赫赫有名的libpcap来做,发包时不仅仅需要构造ip包,也需要构造以太网帧的头部,并指定链路层的device。但有的同学会觉得libpcap太重了,如果只是用于学习和简单调试,在这里我来简单的介绍另外一种ip包嗅探和转发的方法: 使用raw socket,并提供一个简单对http请求进行ip包转发demo。
在阅读这篇文章及案例前,需要对OSI网络模型有些基本的了解,tcp,ip,http头部信息结构可以看看对应的维基,在此我就不再赘述了。
一般来说,ip包的抓取和转发可以用赫赫有名的libpcap来做,发包时不仅仅需要构造ip包,也需要构造以太网帧的头部,并指定链路层的device。但有的同学会觉得libpcap太重了,如果只是用于学习和简单调试,在这里我来简单的介绍另外一种ip包嗅探和转发的方法: 使用raw socket,并提供一个简单对http请求进行ip包转发demo。
在阅读这篇文章及案例前,需要对OSI网络模型有些基本的了解,tcp,ip,http头部信息结构可以看看对应的维基,在此我就不再赘述了。