如何捕获每个 PID 的网络数据包?

2024-01-01

有人知道一种简单的方法来要求Linux“显示来自/来自google chrome的每个互联网数据包”或“显示来自/来自PID 10275的telnet进程的每个互联网数据包”吗?

telnet 示例不太有用,因为我只能使用wireshark 或tcpdump 来查看涉及端口23 的所有TCP 对话。这样就没有人再使用telnet 了。但是,嗅探往返于使用多个端口的复杂应用程序的所有数据包似乎是一件有用的事情。

我找到了一些相关的答案,探索不同的方法来确认端口和 PID(或程序名称)等,但没有关于数据包的内容

  • 如何在不使用 lsof 或 netstat 的情况下将网络连接与 PID 绑定? https://stackoverflow.com/questions/838317/how-to-tie-a-network-connection-to-a-pid-without-using-lsof-or-netstat
  • 如何获取与打开它们的应用程序关联的端口? https://stackoverflow.com/questions/3306138/how-i-can-get-ports-assosiated-to-aplication-that-oppened-them/3308198
  • 如何像“netstat -p”一样但更快? https://stackoverflow.com/questions/4056850/how-to-do-like-netstat-p-but-faster/4057150

看起来不久前有人可能愿意为这个答案付费:

  • http://www.freelancer.com/projects/Perl-CGI-C-C/tcpdump-PID-relation.html http://www.freelancer.com/projects/Perl-CGI-C-C/tcpdump-PID-relation.html

NetHogs http://nethogs.sourceforge.net/对于快速查看哪些程序正在通过接口创建流量非常有用,但它没有捕获数据包的方法。


不是直接的 tcpdump,但可以为您提供有关网络流量的信息,请检查https://bytefreaks.net/gnulinux/how-to-capture-all-network-traffic-of-a-single-process https://bytefreaks.net/gnulinux/how-to-capture-all-network-traffic-of-a-single-process

strace -f -e trace=network -s 10000 <PROCESS WITH ARGUMENTS>;

如果进程已经启动并且您知道其 PID,则可以使用以下命令 1

strace -f -e trace=network -s 10000 -p <PID>;

另一种选择更复杂,使用网络命名空间,检查上面的链接或使用该工具nsntrace https://github.com/jonasdn/nsntrace,但两者都只能在新进程上工作,不能更改现有进程网络命名空间(AFAIK)

更新: 您还可以安装工具 bpfcc-tools (搜索您的发行版,许多发行版已经包含它)并使用命令sudo tcptracer-bpfcc -v -p (PID)虽然这不会显示数据包,但它会列出该 pid 的网络连接。您可以删除-p (PID)列出每个进程的所有连接。这对于那些跟踪短实时连接而不是网络负载的人来说可能很有用。

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

如何捕获每个 PID 的网络数据包? 的相关文章

  • 在 MacOS 上构建需要 net461 的 dotnet SDK 项目的最简单方法

    我有一个 dotnet SDK sln and a build proj with
  • 虚拟内存澄清——大连续内存的分配

    我有一个应用程序 我必须在 Windows 上分配 使用运算符 new 相当大的内存空间 数百 MB 该应用程序是 32 位 我们现在不使用 64 位 即使在 64 位系统上也是如此 我启用了 LARGEADDRESSAWARE 链接器选项
  • Android,在连接wifi的情况下与移动数据通信,无需上网

    我有一个汽车配套应用程序 需要与 WiFi 和移动数据网络进行通信 我的车辆控制单元提供了一个无需互联网访问的 WiFi 网络 它公开了我们可以从应用程序调用的 API 服务 除此之外 我们还需要使用手机移动数据 3G 4G 与另一个可通过
  • 使用 .htaccess 启用 PHP 短标签

    我在自己的 Centos 服务器上设置了 Apache 并具有多个虚拟 Web 服务器 并且我希望仅为位于以下位置的其中一个 Web 服务器启用 PHP 短标记 var www ostickets html 我可以通过添加成功启用短标签sh
  • gpg:抱歉,根本没有请求终端 - 无法获取输入

    解密时出现以下错误 eyaml decrypt s ENC and the key goes on here gnupg quiet no secmem warning no permission warning no tty yes de
  • 如何在C程序中直接改变显存映射来绘制像素(无需库函数)

    是否可以通过使用 C 程序更改 RAM 中屏幕 视频即监视器 内存映射中的值来显示黑点 我不想使用任何库函数 因为我的主要目标是学习如何开发简单的操作系统 我尝试访问起始屏幕内存映射 即 0xA0000 在 C 中 我尝试运行该程序 但由于
  • 重新链接匿名(未链接但打开)文件

    在 Unix 中 可以创建匿名文件的句柄 例如 使用 creat 创建并打开它 然后使用 unlink 删除目录链接 留下一个带有 inode 和存储的文件 但没有可能的方法重新打开它 此类文件通常用作临时文件 通常这就是 tmpfile
  • 如何确定非阻塞套接字是否真正连接?

    这个问题不仅限于Python 这是一个一般的套接字问题 我有一个非阻塞套接字 想要连接到一台可访问的机器 在另一端 该端口不存在 为什么 select 仍然成功 我预计会超时 sock send 因管道损坏而失败 select 之后如何确定
  • “./somescript.sh”和“. ./somescript.sh”有什么区别

    今天我按照一些说明在 Linux 中安装软件 有一个需要首先运行的脚本 它设置一些环境变量 指令告诉我执行 setup sh 但是我执行时犯了一个错误 setup sh 所以环境没有设置 最后我注意到了这一点并继续进行 我想知道这两种调用脚
  • 以编程方式启用 Internet 连接共享

    我可以手动执行此操作 方法是右键单击网络连接 打开 共享 选项卡 单击 允许其他网络用户通过此计算机的 Internet 连接进行连接 复选框 然后选择 家庭网络连接 在研究这个问题时 我发现了多组 COM 接口 1 Internet 连接
  • 使用 hcitool 扫描低功耗蓝牙?

    当我运行此命令时 BLE 设备扫描仅持续 5 秒 sudo timeout 5s hcitool i hci0 lescan 输出显示在终端屏幕中 但是 当我将输出重定向到文件以保存广告设备的地址时 每次运行该命令时 我都会发现该文件是空的
  • Linux Shellcode“你好,世界!”

    我有以下可用的 NASM 代码 global start section text start mov eax 0x4 mov ebx 0x1 mov ecx message mov edx 0xF int 0x80 mov eax 0x1
  • 如果目录不存在,有没有办法让 mv 创建要移动到的目录?

    因此 如果我在主目录中并且想将 foo c 移动到 bar baz foo c 但这些目录不存在 是否有某种方法可以自动创建这些目录 以便你只需要输入 mv foo c bar baz 一切都会顺利吗 似乎您可以将 mv 别名为一个简单的
  • 如何获取 bash 中从 Ping 接收到的数据包的百分比?

    当 ping 主机时 我希望输出仅显示收到的数据包 已发送 5 个 的百分比 我想我需要使用grep不知怎的 但我不知道如何 我是 bash 编程的新手 这是我所在的地方 ping c 5 q host grep grep 中应该包含什么
  • 从sourceforge下载最新版本

    我正在尝试在 bash 脚本中从 Sourceforge 下载最新版本的graphicsmagick wget q https sourceforge net projects graphicsmagick files latest dow
  • 如何在 Linux 中显示进程状态(阻塞、非阻塞)

    有没有办法查询 Linux 进程表中进程的状态 以便能够演示执行查询时进程是正在运行还是被阻止 我的目标是从进程或程序的 外部 执行此操作 因为我希望从操作系统进程的角度来理解这一点 但欢迎任何想法 这是Python代码阻塞的过程 impo
  • C# 测试活动的互联网连接。 Ping google.com

    C 2008 我正在使用此代码来测试互联网连接 因为我的应用程序必须登录到网络服务器 但是 如果用户互联网连接失败或电缆被拔出 我必须通知用户 Ping www google com to check if the user has a i
  • 如何更改 Kubernetes 中的文件系统观察程序限制 (fs.inotify.max_user_watches)

    我在用着pm2 https github com Unitech pm2查看保存我的应用程序服务器的 NodeJS 程序源代码的目录 该程序在 Kubernetes 集群中运行 但是 我收到此错误 ENOSPC System limit f
  • Git在Windows中的克隆比在Linux中慢得多

    我一直在追寻 Windows 上 github 克隆速度极慢的问题 Linux kali 没有这个问题 我的下行连接速度为 100 40 megabit s 我可以获得接近 8mb s 的下载速度 没有问题 我已将电脑直接插入互联网插座 无
  • Linux shell 标题大小写

    我正在编写一个 shell 脚本并有一个如下所示的变量 something that is hyphenated 我需要在脚本中的各个点使用它 如下所示 something that is hyphenated somethingthati

随机推荐

  • 为docker容器分配IP地址?

    我是 Docker 新手 是否可以将 IP 地址 从 DHCP 服务器 分配给在主机或虚拟机上运行的 Docker 容器 如果是 有人可以指出我正确的方向吗 如果不是 这是否是容器方法的基本限制 或者只是 Docker 中尚未提供的功能 D
  • 在 Java 中重构代码,替代大型 if 语句

    我正在重构我正在处理的项目中的一些代码 并且遇到了一个遵循以下格式的大型 if else if 语句 if changer instanceof AppleChanger panel new ApplePanel else if chang
  • Android 小部件 ImageButton 在屏幕旋转时丢失图像

    我的主屏幕上有一个小部件 其中有几个具有默认背景图像的图像按钮 通过配置活动 我可以更改任何 ImageButton 上的图像 问题是 当屏幕旋转时 ImageButton 上的图像消失并变回默认图像 我不知道为什么会发生这种情况或如何解决
  • 没有域名的 SSL 证书

    我有一堆 node js 应用程序通过 websockets ws 向 apache 站点提供信息 网站本身没有域名并通过其 IP 地址进行访问 不幸的是 这是不可协商的 问题如下 如果没有安全连接 浏览器将阻止 ws 交通量 所以我必须使
  • 使用mapDispatchToProps时Promise不返回

    最近 我从使用一种乐观操作转变为添加另外两种乐观操作来检测成功 失败服务器响应 通过乐观的方法 我能够通过速记方式和承诺的链条传递我的行动 class Post extends Component onUpdateClick props t
  • 弹出子导航视图时透明TabBar iOS 15

    我有一个带有 TabBar 的 SwiftUI 应用程序 如果我从 NavigationView 打开详细信息子视图 然后单击 后退 TabBar 将变为透明 显示 TabBar 图标下方的 Feed 中的项目 从主屏幕中 打开子导航详细信
  • CR 错误 无法打印组部分,因为其条件字段不存在或无效

    我继承了 CR 报告 运行时出现错误 无法打印组部分 因为其条件字段不存在或无效 格式化该部分以选择另一个条件字段 有没有办法让我知道它指的是哪个领域 关于我什么时候应该开始寻找问题的任何指示 我已经验证了 DB 它指向正确并且 Sp 返回
  • Maven 坚持认为 JAVA_HOME 未正确定义,除非我将其作为 sudo 运行

    Ubuntu 22 04 1 从 20 04 5 最新更新 当我尝试用 Maven 构建任何东西时 它会抱怨 mvn v The JAVA HOME environment variable is not defined correctly
  • Visual Studio“转到定义”菜单选项行为 - 为什么 C# 和 VB 项目之间不一致

    当使用 C 项目在 VS2005 中进行开发时 我右键单击框架方法 属性 类型并选择 转到定义 默认情况下 我们会得到一个新的锁定选项卡 其中包含从框架生成的代码 并适当标记为 来自元数据 然而 当我们在 VB NET 项目中执行相同操作时
  • 在正则表达式中匹配两个单词及其之间的一些字符

    我想在没有时对字符串进行匹配abc后面跟着一些字符 可能没有 并以 com 我尝试了以下方法 abc com or abc com or
  • 如何在 useminPrepare 中为 html 文件中的每个块定义单独的流程?

    我们在 index html 中定义了 2 个块 一个用于第三方库 另一个用于我们的应用程序文件 由于第 3 方库已经缩小 我们只想将它们连接起来 而不是丑化 我怎样才能做到这一点useminPrepare
  • 计算 ggplot2 stat_binhex 中 bin 的百分比

    我正在生成不同组的数据点的 binhex 图 每个组可能有不同的总点数 因此我希望它不是每个 bin 值的绝对点数 而是该组内总点数的百分比 这是我目前正在尝试的 d lt data frame grp c rep a 10000 rep
  • 全局安装 npm

    是否可以全局安装 npm 这是一个好主意吗 我使用 npm install 命令安装了 npm 并能够运行 npm start 然后 将我的项目发布到 github 后 我想确保如果有人克隆它 它也能运行 所以我将它克隆到我机器上的另一个目
  • .Net KeyEventArgs 返回与输入

    在 c net 应用程序中使用以下代码 字符串键 e KeyCode ToString 在 net 1 1中键 输入 在 net 3 5中键 返回 我的问题是它们为什么不同 The Keys枚举具有相同的值Enter and Return
  • Rails 每当 gem:每月 20 日

    我在互联网上搜索了这一点 并且文档并没有真正具体讨论每月的工作 所以我希望这里有人能告诉我如何做到这一点 我已经安装了whenever gem 我需要知道的是正确的语法 every month on gt 20th at gt 02 00
  • 在文件中写入大量数据的最快方法

    我正在尝试创建随机实数 整数 字母数字 字母字符串 然后写入文件直到文件大小达到10MB 代码如下 import string import random import time import sys class Generator def
  • 何时使用 Xcode 分布式构建功能

    我在一个小型 iPhone 开发团队工作 在我们的办公室里 我们在任何时候至少有 4 个 XCode 副本在网络上运行 考虑让每个人都运行它 我们使用标准 WIFI 交换机联网 因此网络速度和延迟不如有线网络 只是想知道 使用分布式构建是否
  • STL容器如何折叠?

    我需要 Haskell 的类似物foldl功能可折叠任何 STL 容器 预期签名如下 template Iterator FoldingFunction Result Result foldl Iterator begin Iterator
  • Angular/SignalR 错误:无法完成与服务器的协商

    对我的服务器使用 SignalR 对我的客户端使用 Angular 当我运行客户端时 我收到以下错误 zone js 2969 OPTIONS https localhost 27967 chat negotiate 0 Utils js
  • 如何捕获每个 PID 的网络数据包?

    有人知道一种简单的方法来要求Linux 显示来自 来自google chrome的每个互联网数据包 或 显示来自 来自PID 10275的telnet进程的每个互联网数据包 吗 telnet 示例不太有用 因为我只能使用wireshark