从实时 tcpdump 捕获中提取唯一的 IP

2024-06-20

我使用以下命令从实时 tcpdump 捕获中输出 IP

sudo tcpdump -nn -q ip -l | awk '{print $3; fflush(stdout)}' >> ips.txt

我得到以下输出

192.168.0.100.50771
192.168.0.100.50770
192.168.0.100.50759

需要两件事:

  1. 仅提取 IP,而不提取端口。
  2. 生成一个具有唯一 IP 的文件,不重复,并可以将其发布。

先感谢您


要从 tcpdump 中提取唯一的 IP,您可以使用:

awk '{ ip = gensub(/([0-9]+.[0-9]+.[0-9]+.[0-9]+).*/,"\\1","g",$3); if(!d[ip]) { print ip; d[ip]=1; fflush(stdout) } }' YOURFILE

因此,查看实时唯一 IP 的命令是:

sudo tcpdump -nn -q ip -l | awk '{ ip = gensub(/([0-9]+.[0-9]+.[0-9]+.[0-9]+)(.*)/,"\\1","g",$3); if(!d[ip]) { print ip; d[ip]=1; fflush(stdout) } }'

这将在每个 IP 出现后立即打印输出,因此无法对它们进行排序。如果您想对它们进行排序,可以将输出保存到文件中,然后使用sort tool:

sudo tcpdump -nn -q ip -l | awk '{ ip = gensub(/([0-9]+.[0-9]+.[0-9]+.[0-9]+)(.*)/,"\\1","g",$3); if(!d[ip]) { print ip; d[ip]=1; fflush(stdout) } }' > IPFILE
sort -n -t . -k 1,1 -k 2,2 -k 3,3 -k 4,4  IPFILE

输出示例:

34.216.156.21
95.46.98.113
117.18.237.29
151.101.65.69
192.168.1.101
192.168.1.102
193.239.68.8
193.239.71.100
202.96.134.133

注意:确保您使用的是 gawk。它不适用于 mawk。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从实时 tcpdump 捕获中提取唯一的 IP 的相关文章

  • 对重复的名称添加双引号

    我想从文件中找到重复的名称 如下所示 并用 标记它们 file James Miki 123 456 7890 Wang Tai 234 563 6879 James Miki 123 456 7890 输出希望看起来像 James Mik
  • 用于计算数据文件中数字列表的平均值的脚本

    文件data txt包含以下内容 1 00 1 23 54 4 213 2 3 4 脚本的输出应该是 ave 54 646 一些简单的脚本是首选 这是一种方法 awk s 1 END print ave s NR RS file ave 5
  • Awk - 计算两个文件之间的每个唯一值和匹配值

    我有两个文件 首先 我尝试获取第 4 列中每个唯一字段的计数 然后匹配第二个文件的第二列中的唯一字段值 File1 第 4 列的每个唯一值和 File2 第 2 列包含我需要在两个文件之间匹配的值 所以本质上 我试图 gt 如果 file2
  • 如何将查找和替换限制为 CSV 中的一列?

    我有一个 4 列 CSV 文件 例如 0001 fish animal eats worms I use sed对文件进行查找和替换 但我需要将此查找和替换限制为仅在第 3 列中找到的文本 如何让查找和替换仅发生在这一列上 您确定要使用se
  • 如何添加百分比列

    我想计算每行中所有行中的值的百分比并将其添加为另一列 输入 分隔符为 t 1 10 2 10 3 20 4 40 添加第三列的所需输出显示基于第二列中的值计算的百分比 1 10 12 50 2 10 12 50 3 20 25 00 4 4
  • 使用 awk 解析日志文件

    我尝试使用以下代码解析日志文件 if line match then awk 2 vFiler echo vFiler 解释 有一些行以这样的模式开头 或 vol 后跟名称 我想找到所有以 或 vol 并将后面的字符串设置为等于变量 但我真
  • 仅替换引号之间的空格

    我有日志文件中的一行 field 1234 text in quotes 1234 other text in quotes 我想替换引号之间的空格 这样我就可以使用空格作为分隔符来提取列 所以结果可能是这样的 field 1234 tex
  • AWK 将十进制转换为二进制

    我想使用 AWK 将文件中的十进制数字列表转换为二进制 但似乎没有内置方法 示例文件如下 134218506 134218250 134217984 1610612736 16384 33554432 这是一个 awk 方式 为您的乐趣而函
  • 如何使用管道字符分隔符分隔字段

    我知道这个问题已经被问过 但我发现没有一个解决方案对我有用 我有一个程序 其输出如下 COUNT 293 1 lps 我对第二个字段感兴趣 但是这些尝试都没有成功 spawn 1 cut d f2 spawn 1 cut d f2 spaw
  • 如何从 Unix 文件中删除空行

    我需要从输入文件中删除所有空白行并写入输出文件 这是我的数据如下 11216 33 1032747 64310 1 0 0 1 878 0 0 0 1 1 1 087 5 1 1 18 JAN 13 000603221321 11216 3
  • 使用 awk 打印一列,添加逗号

    我有一个文件 我想从中检索第一列 并在每个值之间添加逗号 Example AAAA 12345 xccvbn BBBB 43431 fkodks CCCC 51234 plafad 获得 AAAA BBBB CCCC 我决定使用 awk 所
  • 从 shell 查找不包含特定注释的 XML 文件

    我想搜索 awk grep sed 几个 XML 文件 pom xml 文件 跳过某些文件夹 而且 第一个条件是它们必须包含标签
  • AWK数组初始化

    是否可以使用常见的方法在AWK中初始化数组list syntax array val1 val2 val3 或者是否必须使用索引值 syntax array 0 val1 array 1 val2 array 2 val3 不 不 您可以这
  • Windows 10 上的 LibPNG 构建问题

    我试图在 Windows 10 上构建 libpng 以获取 win32 二进制文件 但我认为有一个与 awk 解析带有 CRLF 行结尾的文件相关的问题 我尝试使用 dos2unix 命令转换文件 但没有成功 结果相同 在 make 命令
  • 替换多个文件中的多个字符串

    我有一个包含正则表达式列表和替换文字字符串的文件 格式如下 OLD REGEXP 1 NEW STRING 1 OLD REGEXP 2 NEW STRING 2 我想替换所有匹配的字符串OLD REGEXP X with NEW STRI
  • 简单的awk命令问题(FS、OFS相关)

    我尝试重新组织包含以下内容的文件的格式 gt Humanl chr16 86430087 86430726 element 1 positive gt Humanl chr16 85620095 85621736 element 2 neg
  • 如果等于特定值则替换列

    我希望替换 CSV 中的第四列 如果它等于 N A 我正在尝试将其更改为 1 我似乎无法让它发挥作用 awk F if 4 N A 4 1 test csv 您可以使用以下内容awk awk F 4 4 N A 1 4 1 OFS test
  • 将匹配的值传递给函数,并替换为返回值

    我如何让 Bash 匹配正则表达式 而不是用常量字符串替换值 而是将匹配的值传递给函数 然后从函数的返回值中获取要替换的值 像下面的伪代码一样 它替换了每一个匹配项 a d 具有相同的字符 但大写 function uppercase ec
  • sed:用下划线替换引号内的空格

    我有输入 例如 来自ifconfig run0 scan在 OpenBSD 上 它有一些用空格分隔的字段 但某些字段本身包含空格 幸运的是 包含空格的此类字段总是用引号引起来 我需要区分引号内的空格和分隔符空格 这个想法是用下划线替换引号内
  • 删除所有出现的重复行

    如果我想删除某些字段重复的行 那么我使用 sort u k n n 但这仍然发生一件事 如果我想删除所有出现的重复项 有没有快速的 bash 或 awk 方法可以做到这一点 例如我有 1 apple 30 2 banana 21 3 app

随机推荐

  • 如何更改终端的默认目录?

    我想更改 Android Studio v2 2 2 终端的默认目录 当我打开终端时 它基于项目的目录 C 项目路径 我经常需要使用adb shell 所以我必须导航到 SDK 路径 平台工具 才能使用 adb 命令 是否可以更改终端的默认
  • Dialog.setTitle 不显示标题

    我正在尝试向我的对话框添加自定义标题 但是每当我运行我的应用程序时 它都不会显示标题 我创建对话框的代码是 final Dialog passwordDialog new Dialog this passwordDialog setCont
  • 使用 useReducers 调度函数发送多个操作?

    使用时是否可以通过调度函数发送多个动作useReducer挂钩反应 我尝试向它传递一组操作 但这会引发未处理的运行时异常 明确地说 通常会有一个初始状态对象和一个减速器 如下所示 const initialState message1 nu
  • 如何在 Matplotlib 饼图周围绘制箭头以将每个标签指向圆圈中各自的部分?

    我一直在用 Matplotlib 绘制一些图表 我有一个饼图 想要在图表周围绘制箭头 使每个标签都指向图表 我有一个例子 这是我当前的代码 import matplotlib pyplot as plt plt rcParams font
  • 如何指定网站的语言? (HTML?)

    如何指定页面采用某种语言以便搜索引擎可以理解 这是我放在顶部的元标记吗 如果是 您知道大多数搜索引擎是否使用它来确定语言吗 我已将一页英文内容转换为几种不同的语言 并希望将该信息包含在 html 中 让搜索引擎知道他们正在处理哪种语言 快速
  • 会话重新启动后 AVcapture 会话启动缓慢

    我有一个主视图控制器 它连接到具有 avcapturesession 的第二个视图控制器 我第一次从主视图控制器转向捕获会话控制器 大约需要 50 毫秒 使用 仪器 检查 然后我从捕获会话返回到主视图控制器 然后从主控制器返回到 avcap
  • 使用模数按字母顺序对列表进行排序

    我在获取元素列表并按字母顺序对它们进行排序方面没有任何问题 但我很难理解如何使用模数来做到这一点 更新 这是按我的方式工作的代码 但是 我更喜欢下面提供的答案的可重用性 因此接受了该答案
  • 如何在 __init__ 中使用await设置类属性

    我如何定义一个类await在构造函数或类体中 例如我想要的 import asyncio some code class Foo object async def init self settings self settings setti
  • Supabase 客户端权限被拒绝,模式为 public

    每当我尝试使用 supabase supabase js 查询数据库时 都会收到错误 error hint null details null code 42501 message permission denied for schema
  • HSQL - 识别打开连接的数量

    我正在使用嵌入式 HSQL 数据库服务器 有什么方法可以识别活动打开连接的数量吗 Yes SELECT COUNT FROM INFORMATION SCHEMA SYSTEM SESSIONS
  • 如何使用sunspot_rails gem 搜索相关文章

    我有一个迷你博客应用程序 我希望用户查看与他们在文章显示页面中阅读的内容相关的文章 没有 sunspot rails gem 我会做这样的事情 在我的模型中 def self related search query join AND fi
  • PNG 透明度问题 - 带有黑色阴影的褪色图像 - IE 中的边框

    我使用图像旋转器在主页上显示一些图像 所有图像均为 PNG 格式 问题出在 IE 7 8 中 图像旁边有黑色阴影 我花了几个小时来解决这个问题 但仍然不知道问题出在哪里以及如何删除它 没有人有类似的问题和提示吗 如何解决 尝试使用 img
  • 在 NodeJS 中将子进程的输出保存在父进程的变量中

    我想在 NodeJS 中启动一个子进程并将其输出保存到一个变量中 以下代码将其提供给标准输出 require child process execSync echo Hello World stdio inherit 我的想法与此代码类似
  • XAMPP为MariaDB设置root用户密码

    如何在 Ubuntu Kubuntu 16 04 上的 XAMPP 中设置 MariaDB 的 root 用户密码 默认情况下 root 用户没有设置密码 我正在使用 XAMPP 7 1 11 我在 Windows 和 Linux 上都成功
  • Pig Udf 显示结果

    我是 Pig 的新手 我用 Java 编写了一个 udf 并且包含了一个 System out println 其中的声明 我必须知道在 Pig 中运行时该语句在哪里打印 假设你的UDF 扩展了 EvalFunc 您可以使用从返回的 Log
  • 如何在 Spring 中禁用使用 @Component 注释创建 bean?

    我的项目中有一些用于重构逻辑的通用接口 它看起来大约是这样的 public interface RefactorAwareEntryPoint default boolean doRefactor if EventLogService wa
  • 如何设置Firestore安全规则? Resource.data:空值错误

    我需要一些帮助来使我的 Firestore 安全规则发挥作用 这些是我的 Firestore 规则 service cloud firestore match databases database documents match order
  • 从数组中删除空白元素

    当我从 ruby on Rails 表单中保存多个选择时 它似乎在前面添加了一个空白元素 我该如何删除它 该字段为 selected player utf8 gt authenticity token gt H8W7qPBezubyeU0a
  • 以编程方式将文本颜色设置为主要 Android 文本视图

    如何设置我的文本颜色TextView to android textColorPrimary以编程方式 我已经尝试了下面的代码 但它将 textColorPrimary 和 textColorPrimary Inverse 的文本颜色始终设
  • 从实时 tcpdump 捕获中提取唯一的 IP

    我使用以下命令从实时 tcpdump 捕获中输出 IP sudo tcpdump nn q ip l awk print 3 fflush stdout gt gt ips txt 我得到以下输出 192 168 0 100 50771 1