【发布时间】:2015-08-10 10:54:00
【问题描述】:
我正在编写一个程序,它对网关和主机执行 ARP 欺骗攻击,然后尝试捕获它们之间的 HTTP 流量并在浏览器上呈现 Web 会话。我正在为这些使用 libnet 和 pcap。
我已经成功进行了欺骗,现在我正在尝试进行中继,程序在其中实现主机和网关之间的虚拟连接。
我在处理 TCP 事务时遇到了问题。当主机需要一个页面时,它首先尝试通过发送一个 TCP SYN 数据包与攻击者建立 TCP 连接(因为它已经被欺骗了)。问题是我的机器(攻击者)没有响应 SYN,然后受害者重试断开连接,发送了一堆 SYN 重传。
在我的脑海中,我认为 TCP 连接是由 pcap(或内核)自动建立的。是否有任何配置或参数来设置这个,或者我需要自己执行 TCP 事务?如果是这样,是否有任何建议可以让其发挥最大性能?
感谢您的建议。
Obs.:为了过滤 HTTP 请求,我在 pcap 上使用了以下过滤器,可在 it's man page 上获得
tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)
【问题讨论】:
标签: c++ tcp libpcap man-in-the-middle