小编fdm*_*ion的帖子

如何确定哪个进程每小时发送一次UDP数据包?

作为开发项目的一部分,我正在执行数据包捕获,并在捕获文件中看到来自我的机器的一些奇怪的流量。

大约每 3600 秒,一个 NAT-PMP 请求被发送到 IP“1.1.168.192”。(有点有趣,看起来字节序出错了。)

我担心这台机器可能有恶意软件,但恶意软件扫描没有报告任何内容。

我开始了一个数据包捕获,只过滤出有问题的 NAT-PMP 数据包,数据包几乎每小时都发出,但不是每小时都可靠。

Wireshark 本身无法告诉我哪个进程正在发送数据包。TCPView 可以工作,但我必须确保我几乎在数据包发出时我在机器上,因为列表不会长时间保留关闭或不活动的连接。由于数据包不是每小时都可靠地发出,这是一个令人沮丧的提议。

关于如何确定哪个进程在很宽的时间间隔内发送这些数据包的建议?

networking windows udp packet-capture

4
推荐指数
2
解决办法
4622
查看次数

如何删除所有引用 iptables 链的规则?

我有一套我为网络监控、控制等设计的脚本。我在这些脚本中做的一件事是创建一个 iptables 链,如iptables -N mychain. 然后我根据需要将规则插入到主表中,以便将数据包放入我的自定义链,无论我希望它们在那里有什么目的。

我的问题是:我有一个执行“刷新”的脚本 - 换句话说,它删除所有规则并重新开始。它在出现任何奇怪的异常情况时很有用。即使有人管理它的一部分,人们仍然经常手动管理 iptables。(这就是为什么我希望我所有的工作都在一个单独的表中完成。)

如果我想清楚了我的锁链,很简单:iptables -F mychain。但是我知道该怎么做是删除我可能创建的任何规则,这些规则将引用链接回内置链(输入、输出等)

假设我的应用程序中存在错误,或者用户在摆弄表格并最终弄乱了表格,并且它以某种方式将规则添加到 INPUT 链两次。现在数据包将通过链两次 - 被计算两次,被路由两次,无论如何。

显而易见的解决方案是遍历主链并删除任何跳转目标是我的自定义链的规则。但我不知道如何做到这一点。

这是我们可以设置的最坏情况的示例:

iptables -N TEST
iptables -A INPUT -j TEST
iptables -I INPUT 1 -p tcp --dport 1234 -j TEST
iptables -I INPUT 1 -p tcp --dport 1234 -j TEST # again, for doubling error
iptables -I INPUT -p icmp -j TEST
Run Code Online (Sandbox Code Playgroud)

让我们假设一个不道德或不知情的管理员创建了三个最底层的规则。

所以现在,我可以发布iptables -D INPUT -j TEST并且我创建的规则将消失。但是,这些其他规则不会被删除,因为使用时的参数-D必须匹配。因此,即使我努力删除自己的规则,由于不同的原因,数据包仍然可能不止一次地出现在那里。

刷新主链不一定合适。同样,在命令行中使用 iptables 是很常见的(我一直都是自己做的)所以只是盲目地清除每条 …

linux iptables

1
推荐指数
1
解决办法
4520
查看次数

标签 统计

iptables ×1

linux ×1

networking ×1

packet-capture ×1

udp ×1

windows ×1