封包数据截取与修改 [英] packet data intercept and modification

查看:189
本文介绍了封包数据截取与修改的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我希望能够在 tcp 客户端一侧拦截/修改 tcp 流中的数据.pcap 的示例显示了如何解析 tcp 数据包头/负载.但是假设,我想在 tcp 客户端读取数据包之前修改数据包有效负载,或者完全丢弃数据包.我怎样才能用 pcap capure 做到这一点?

I'd like to be able to intercept/ modify data in tcp flow, on the side of tcp client. Examples for pcap show how to parse tcp packet header/ payload. But suppose, i want to modify packet payload before tcp client reads it, or drop the packet entirely. How can i do that with pcap capure?

推荐答案

如上,你不能用 pcap 做拦截/修改.为此,您需要以下依赖于操作系统的技术之一:

As above, you can't do interception/modification with pcap. For this you need one of the following OS-dependent techniques:

  • Linux:libnetfilter_queue + iptables
  • MacOSFreeBSD:转移套接字 + ipfw
  • Windows:WinPkFilter(商业)、WinDivert (LGPL),或编写您自己的 NDIS IM 或 WFP 调出驱动程序.
  • Linux: libnetfilter_queue + iptables
  • MacOS, FreeBSD: divert sockets + ipfw
  • Windows: WinPkFilter (commercial), WinDivert (LGPL), or write your own NDIS IM or WFP call-out driver.

(通常披露:WinDivert 是我的项目).

(usual disclosure: WinDivert is my project).

这篇关于封包数据截取与修改的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆