来自单独主机

时间:2017-10-04 20:58:02

标签: bash tcp scripting network-programming

我正在寻找允许我从中心位置阻止某些连接(基于目的地IP)的内容。

我基本上都在运行Security Onion,并且正在向eth1发送完整网络的副本。我想知道是否可能(可能是iptables)监视eth1,直到找到特定的DST IP并在该连接上执行tcp重置。据我所知,包dsniff(在debian中)有tcpkill,它应该可以执行此操作。

任何提示或指示赞赏!

谢谢!

1 个答案:

答案 0 :(得分:0)

<强>摘要

“我的目标是让网络中的主机可以根据目的地中断其他主机的连接”

回答#1:MitM

好的,假设您有三台计算机连接如下:

A <--------------------------> B <--------------------> C 
   192.168.1.2    192.168.1.1     10.0.0.1      10.0.0.2     

假设您通过安装Linux发行版并将sysconfig变量B设置为ip_forward,将1转换为Linux路由器。然后,您告诉A通过C将流量路由到B,反之亦然。如果您启用B的防火墙,则可以实施“中断”AC之间流量的防火墙规则。一个防火墙规则可以是“如果发往C的数据包否认它”。

您基本上是在实施MitM

您也可以使用Ettercap执行此操作,但这通常会更复杂。

回答#2:嗤之以鼻,

如果没有MitM职位,您必须依赖Sniffing和Spoofing。在下图中,B将有两个连接,用于嗅探流量的Span端口和来自AC的Spoof数据包的LAN连接。

              B
             ^  ^
            S|  |
            P|  |
            A|  |
            N|  |
   A<----->|Switch|<----->C

嗅探

Span端口正在向B发送数据包。如果打开原始套接字,则最容易查看它们(请参阅更多信息here)。使用原始套接字自己过滤流量并为事件创建处理程序。

欺骗

我认为最简单的方法是实现原始套接字并制作自己的TCP RST消息,设置正确的第3层和第2层信息,然后将其发送出局域网连接。

我认为这些都可以用Scapy完成,但我只用spoofing