一般来说,ip包的抓取和转发可以用赫赫有名的libpcap来做,发包时不仅仅需要构造ip包,也需要构造以太网帧的头部,并指定链路层的device。但有的同学会觉得libpcap太重了,如果只是用于学习和简单调试,在这里我来简单的介绍另外一种ip包嗅探和转发的方法: 使用raw socket,并提供一个简单对http请求进行ip包转发demo。

在阅读这篇文章及案例前,需要对OSI网络模型有些基本的了解,tcp,ip,http头部信息结构可以看看对应的维基,在此我就不再赘述了。


kino lee

Dreamer, Lolicon, Web Developer
To share technology and life in here

Alibaba

Hangzhou. China