【发布时间】:2011-06-17 12:03:54
【问题描述】:
如图所示,我们的子网中有一个 IP 地址列表(请注意 128.3.* 和 131.243.*)。我们更喜欢在 Perl 中进行,任何其他好的想法都比在 *nix 环境中更受欢迎。
图片格式为:
目标 IP(已排序)- Dest_Port - 源IP- Source_Port
空格用作分隔符。
我们是手动完成的,但我们知道我们有大量文件并希望自动执行此过程。
问题是我们需要得到 目标 IP 地址(不在我们的子网中,不是 128.3.* 和 131.243.*) 与至少 3 个不同的 IP 地址(来源)在我们的子网内 (128.3.* 和 131.243.*)。
例如,117.72.15.207 与我们的子网中的至少 3 个不同源地址(131.243.92.10、131.243.92.117 和 131.243.92.191)进行通信(不是子网 ip)。请注意,它与 131.243.92.117 通信的不止一个具有不同的源端口地址,因此它只会在输出中计算一个源地址。我放了一颗星来指定条件。 我们需要满足此条件的 IP 对列表
59.69.194.12 80 131.243.93.74 4492
59.79.35.247 80 131.243.94.123 1307
59.100.23.87 80 131.243.92.72 45577
*117.72.15.207 80 *131.243.92.10 451
*117.72.15.207 80 *131.243.92.117 21071
117.72.15.207 80 131.243.92.117 21072
117.72.15.207 80 131.243.92.117 21073
*117.72.15.207 80 *131.243.92.191 9248
输出将是:
117.72.15.207 80 131.243.92.10 451
117.72.15.207 80 131.243.92.117 21071
117.72.15.207 80 131.243.92.191 9248
如果有不清楚的地方请评论。谢谢...
【问题讨论】:
-
所以您想在 Perl 中执行此操作...到目前为止您有什么?更新您的帖子以包含代码并指定您不理解的内容。否则问题可能会被关闭。
-
@Jim Garrison,我们提取了 IP 地址和端口号并从跟踪中对其进行了排序,我对 perl 不了解,不确定这是否可以通过其他方式完成,所以我在这里发布。
-
一般来说 SO 是为了提出具体的问题,而不是让别人为你写代码。您可能会发现有人会花时间为您编写完整的解决方案,但不要屏住呼吸。
-
@Jim Garrison,我理解你的观点,我不是新用户。我感谢任何获得解决方案的建议,不需要成为真正的解决方案,我不想用 C++ 编写只是寻找其他方法。谢谢。
标签: perl unix awk text-processing