问题标签 [promiscuous-mode]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
15197 浏览

c - 从混杂的网络设备中读取

我想写一个无线流量的实时分析工具。

有谁知道如何从 C 中的混杂(或嗅探)设备中读取数据?

我知道您需要具有 root 访问权限才能执行此操作。我想知道是否有人知道执行此操作需要哪些功能。普通套接字在这里似乎没有意义。

0 投票
4 回答
13011 浏览

c - 混杂模式下的数据包套接字仅接收本地流量

我有一个使用 创建的套接字socket(PF_PACKET, SOCK_RAW, htons(ETH_P_ALL)),并使用以下方法将其设置为混杂模式:

问题是当我read()从套接字执行时,它只返回来自或来自我的计算机的数据。

如何让它读取和处理网络上的所有数据包?

Wireshark 显示所有数据包都很好,所以我知道它不是我的计算机或 NIC。ifconfig报告它PROMISC在运行时。

0 投票
1 回答
2327 浏览

iptables - 使用 iptables 模拟混杂模式

我正在尝试在我的家庭网络上运行 snort,但我没有可以镜像端口的交换机。相反,我有一个带有番茄(dd-wrt)的华硕 RT-N16。经过数小时的搜索,我找到的唯一解决方案是:http ://www.snort.org/assets/182/snort-opensuse-vbox-ddwrt.txt

基本上他们说要创建这两个 iptables 规则:

iptables -A PREROUTING -t mangle -j ROUTE --gw 192.168.1.20 --tee

iptables -A POSTROUTING -t mangle -j ROUTE --gw 192.168.1.20 --tee

问题是 --gw 不是一个有效的标志。

然后我需要创建一个脚本来检查规则是否存在。如果是,请删除该规则。如果没有,请创建规则。

我应该 grep iptables -L -v -n --line-n还是应该 grep iptables-save

  1. 什么是正确的 iptables 语法来模拟到 192.168.1.20 的混杂端口?

  2. 如果它们不存在,我如何创建将打开 iptables 规则的脚本,如果它们存在则删除它们?

谢谢,

瑞安

0 投票
0 回答
871 浏览

linux - 混杂模式的缺点/危险

我能够在楼宇自动化模块上接收多播 UDP 数据报的唯一方法是将接口设置为混杂模式(内核是 2.6.24,它可以在以后的内核上正常工作)。我想知道如果我以这种方式将它们交付给客户是否会有任何风险或劣势,因为每个数据包都会在没有事先过滤的情况下被转发到内核

0 投票
1 回答
1106 浏览

c# - 在混杂模式下嗅探

因此,我想编写一个能够使用混杂模式嗅探数据包(尤其是 DNS 数据包)的小型 C# 应用程序。另外,我想避免使用 WinPcap,因为我不想强迫用户安装任何其他软件。

问题是我完全不知道如何使用代码将 NIC 切换到混杂模式,或者如果 NIC 实际打开,如何在 Windows 中进行测试。

另外,我尝试使用 Wireshark 嗅探数据包,但即使选择了混杂模式复选框,我仍然看不到任何必须由我的手机发送/接收的数据包(使用 Windows Phone 7.8)我已经连接到同一个网络(是的,我先关闭了移动互联网,以确保它正在使用我的 WiFi)。

那么如何打开混杂模式以及如何检查它实际处于打开状态的系统呢?

0 投票
2 回答
2339 浏览

c - 使用混杂模式

我在同一个局域网中连接了 3 台笔记本电脑。

第 1 圈:192.168.1.2
第 2 圈:192.168.1.3
第 3 圈:192.168.1.4

我将 lap-1 作为服务器并监听 9333 端口。lap-2 充当客户端。使用 netcat 我将数据从 lap2 发送到 lap1。我能够在 lap1 中使用 pcap 捕获数据包。我已经使用sudo ifconfig eth0 promisc. 同样在pcap_live_open方法中,我设置了混杂模式标志。

然后我关闭了混杂模式,也关闭了pcap_live_open功能。我仍然能够捕获数据包。

我搜索了混杂模式,我可以推断出如果设备以混杂模式打开接口,它将能够捕获连接到该网络的所有数据包。

所以考虑到这一点,我将第 3 圈作为服务器,第 2 圈仍然作为客户端。我遵循与上述相同的程序。我在 lap-1 中运行 pcap 可执行文件,希望我能够捕获在 lap-3 和 lap-2 之间传输的数据包,但是在 lap-1 中运行的 pcap 在混杂模式下无法做到这一点。所有 3 圈都连接到同一个网络。

任何人都可以用简单的场景启发我使用混杂模式吗?

这是我的 pcap 代码:29988 是 9333 的反向(交换),我只是在寻找那个。

0 投票
2 回答
2390 浏览

networking - Golang - 获取网络接口的混杂模式状态

我使用以下 Go 代码来获取有关网络接口的一些信息。关于如何获得每个接口的混杂模式状态的任何建议?

0 投票
2 回答
11339 浏览

docker - Docker Container 在混杂模式下的网络接口

组成一个 3 服务架构和一个虚拟桥接网络,三个服务连接在该网络上。我希望其中一个容器能够监听虚拟网络中的所有流量(混杂模式)。可能吗?我几乎尝试了所有方法,但似乎没有任何效果。

我试过的:

  • 授予容器完全权限
  • 将容器 eth0 接口设置为混杂(ifconfig eth0 promisc)
  • 重启容器内的网络管理器
  • 从主机以混杂模式设置相对于容器的 veth
  • 从 pipework 脚本中将 macvlan 配置中的模式从“bridge”修改为“passthru”
  • 在 docker-compose 文件的网络属性中将容器设置为网关

上述许多尝试导致容器的 eth0 接口“认为”它处于混杂模式,实际上 ifconfig 和 syslog(来自主机)都说它是,但容器仍然只看到自己的流量。

我正在使用 Docker 1.11,容器内的基本映像是 Ubuntu 14.04:latest

下面列出了我的 docker-compose 文件在此先感谢

码头工人-compose.yml

0 投票
0 回答
208 浏览

c# - 是否可以让 TCPListener 处于混杂模式?

我使用 arp 欺骗将 tcp 连接请求转发到我的计算机,wireshark 在混杂模式下批准 SYN 数据包到达我的计算机。我使用 TCPListener 接收连接,但无法使用不属于我的 PC 的 IP 地址打开 TCPListener 实例。似乎 TCPListener 类无法接受目标 IP 地址与本地接口不同的数据包。我该如何执行此任务?

0 投票
0 回答
25 浏览

ubuntu - 在 ubuntu 中为我的家庭 wifi 网络上的另一台计算机捕获流量

我正在尝试在本地计算机上为我的家庭 wifi 网络中的计算机进行数据包捕获。我在本地机器上使用 ubuntu。

这些是我采取的步骤

但是,当我这样做tcpdump host <target_machine_ip>并尝试在目标机器上运行一些 curl 命令时,我没有看到本地机器上记录了任何活动。

此外,我还尝试运行ip link set eth1 promisc on,然后在目标机器上运行上述运行练习,curl command但我仍然没有在本地机器上看到任何活动。请告知我错过了什么。

提前致谢!