问题标签 [iptables]

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 投票
2 回答
701 浏览

linux - 如何读取已重定向到 localhost 的 tcp 数据包?

我使用 iptables (PREROUTING) 将所有 TCP 流量重定向到本地端口。

现在我想使用 C 程序捕获这些数据包。我尝试了很多套接字变体(UDP / TCP / ...),但我无法使用我在 iptables 中指定的端口连接到 localhost。

我可以看到所有被重定向的数据包,但是如何捕获此流量?

这些是我的规则(它的 Android,但不应该有任何区别......):

我已经尝试过创建 TCP/UDP/RAW Socket(我也考虑过“本地”/UNIX-Sockets,但它的地址是什么?)和 ServerSocket/DatagramServer——但我什么也没收到……

谢谢!!

0 投票
5 回答
111249 浏览

iptables - iptables 在一条规则中设置多个多端口

多端口扩展对可以指定的端口有一个限制 (15)。

但是我需要在一个规则中指定更多的端口号,所以我尝试在一个规则中使用多个多端口,例如:

结果iptables -L INPUT -n

但事实证明,当我尝试从客户端连接时,两个端口都没有被拒绝。

版本为 v1.4.2-rc1。

是否有解决方法,或者当我需要在一个规则中指定超过 15 个端口时应该怎么做。

0 投票
1 回答
595 浏览

linux - 将 TCP 流重定向到另一个客户端

我有一个 TCP 服务器,它只允许几个客户端连接到它。然而,数据传输纯粹是单向的——服务器将所有数据发送给客户端,而客户端几乎没有数据发送回服务器。有没有办法使用 iptables 或防火墙将离开服务器到客户端的 TCP 流重定向到另一个 TCP 客户端?

0 投票
1 回答
3663 浏览

linux - REDIRECT 后从 iptables 检索原始目的地

我正在编写一个通用的应用程序代理。

我想将其用作透明代理,我最初的计划是使用带有 REDIRECT 规则的 iptables 将所有连接转发到我的应用程序代理。

这里的问题当然是,我的应用程序代理丢失了有关预期目的地的信息。

是否可以查询 iptables 以检索最初预期的收件人?对此问题的任何其他可能的解决方案也表示赞赏!

0 投票
3 回答
1681 浏览

iptables - iptables :从网关以外的另一台服务器转发端口

这是情况。我们的 Intranet 192.168.1.0/24 上有多个服务器,其中一个是所有服务器的默认网关,并有两个接口($GATEWAY_INTERNAL_IP 和 $GATEWAY_EXTERNAL_IP)。

我们还有另一台服务器 PUBLICHOST2,它有两个 IP 以及 $PUBLICHOST_EXTERNAL_IP 和 $PUBLICHOST_INTERNAL_IP。

我们有第三台服务器 SERVER,它只有一个 IP $PRIVIP 并绑定在端口 $PORT 上。

我们想要的是能够将 $PUBLICHOST_EXTERNAL_IP 上的端口 $PORT 转发到 $PRIVIP 上的主机 SERVER。

但是当我们在 PUBLICHOST2 上使用 iptables 进行端口转发时,SERVER 收到请求但响应通过网关并且连接不成功。

我们如何正确地进行设置,以便响应可以通过 PUBLICHOST2 返回?

谢谢

0 投票
1 回答
536 浏览

perl - Perl IPTables 模块安装错误

我一直在尝试为 perl http://metacpan.org/pod/IPTables::IPv4安装 IPTables 模块,并且在安装过程中遇到了错误。

我尝试在 shell 中使用 CPAN 进行安装,以及从上面的链接下载 tarball。两种安装都给我错误。我不确定如何从 CPAN 获取转储,但是当我从 tarball 运行 MAKE 文件时,我可以获得的是我的 shell 的转储:

我想知道我需要做什么才能安装模块。我需要安装一些依赖项吗?

非常感谢您的帮助。

0 投票
0 回答
1018 浏览

java - 在根 xoom (android 3 honeycomb) 上运行 iptables

我正在尝试添加一些规则来使用 iptables 过滤进出设备(Xoom WiFi)的网络流量。iptables 命令位于运行 android 3.0.1 的 xoom 设备中的 /system/bin/iptables。我正在使用 adb shell 添加规则。但是我似乎无法通过 android 应用程序做同样的事情。

与苏

( su -c command)。Xoom 已经扎根。并且 iptables 已被授予超级用户应用程序的 su 权限(最新版本,最新的 su 二进制文件):

iptables

07-18 09:00:32.990: DEBUG/su(17539): 10054 com.iptables 使用 shell /system/bin/sh 执行 0 /system/bin/iptables : sh 07-18 09:00:33.010: WARN/su (17546): 请求被拒绝 (0->0 /system/bin/iptables)

chown

07-18 09:02:21.380: WARN/su(17594): 请求被拒绝 (0->0 /system/bin/chmod)

没有苏

iptables

没有输出。什么都没发生。不添加规则。

chown

没有输出。按预期工作!?!。

我如何运行 iptables 命令:

运行命令的方法:

有任何想法吗?我正在撞墙。任何帮助高度赞赏。谢谢!

0 投票
1 回答
248 浏览

debugging - bash 脚本:从语句块中捕获错误

我有一个大型 iptables 规则集,我使用自己的 bash 脚本进行管理。脚本中的大多数命令都是简单的单语句 iptables 命令。我正在尝试通过在脚本执行时添加成功/失败输出来改进脚本。

我将脚本分成不同的部分。一个示例是 FORWARD 链部分,其中所有规则都应用于 FORWARD 链。在本节的开头,我输出脚本已开始应用 FORWARD 规则,最后,我想输出是否所有规则都已成功应用,或者是否有任何规则不起作用。这是基本思想:

我想要做的是捕获每个 iptables 命令可能导致的任何输出或错误,并将它们存储在数组或其他东西中。然后在块的末尾,使用 if 语句来评估数组以查看是否有任何错误。如果没有,输出[OK]状态,如果有,输出[FAILED]状态并显示相关错误。

有没有一种方法可以为整个规则块执行此操作,而无需将每个 iptables 规则包装在 if [ $? != 0 ] 表达式?

0 投票
1 回答
551 浏览

c - 为什么我在使用 libnfqueue 的 recv() 调用中得到额外的位?

我在使用以下代码时遇到问题。我收到我的数据没有问题,但是该数据加载了无关位!例如,下面的代码从 nfqueue 获取所有指向它的流量,并打印出每个字节后跟一个换行符。

起初数据正是我所期望的,但后来有些行似乎有 4 个字节!

输出:

我在互联网上或在与此问题类似的错误跟踪器中找不到任何东西。我可以从哪里开始诊断它?为什么我的数据中有所有这些额外的位?我该如何解决?

我与 tcpdump 的输出进行了比较,它们也没有出现在那里。

0 投票
3 回答
3094 浏览

php - 使用 API 首选项管理 IPTables。php

有没有 API 可以让我用 PHP 管理 IPTables,它是一个项目用浏览器登录构建路由器,有点像 Fonera?