是否可以找到哪个用户位于 localhost TCP 连接的另一端?

2024-05-08

这是一个编程问题,但它是 Linux/Unix 特定的。如果我从本地主机获得 TCP 连接,是否有一种简单的方法可以告诉哪个用户在 C 程序内建立了连接而无需 shell ?我知道这对于 Unix 域套接字来说并不太难。

我已经知道远程 IP 地址是 localhost(::1 或 127.0.0.1)并且我知道远程端口号。我不知道建立连接的进程的有效用户 ID。有什么办法可以发现这一点吗?


在 Linux 上,/proc/net/tcp http://man7.org/linux/man-pages/man5/proc.5.html包含有关系统上打开的 TCP 套接字的信息。对于已连接的套接字,条目如下所示(标头是文件的一部分,删除了其他行):

  sl  local_address rem_address   st tx_queue rx_queue tr tm->when retrnsmt   uid  timeout inode                                                     

  11: 0100007F:C9CB 0100007F:0016 01 00000000:00000000 00:00000000 00000000  1000        0 978132 ...

第二列和第三列有套接字的端点,uid列包含创建套接字的进程的有效 UID。/proc/net/tcp6IPv6 的情况类似。 (那里的 IP 地址是 127.0.0.1,因此八位字节的顺序似乎相反。)

如果您想跟踪持有套接字的实际进程,您需要遍历所有/proc/$PID/fd/$N条目,并将套接字符号链接中的 inode 编号与 tcp 套接字表中提到的 inode 编号进行比较。但是你只能看到你自己进程的文件描述符,除非你是超级用户。

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

是否可以找到哪个用户位于 localhost TCP 连接的另一端? 的相关文章

  • 如果文件没有行尾字符,则 wc -l 不计算文件的最后一个

    我需要计算 unix 文件的所有行数 该文件有 3 行 但是wc l仅给出 2 个计数 我知道它不计算最后一行 因为它没有行尾字符 任何人都可以告诉我如何计算这一行吗 grep c返回匹配行的数量 只需使用一个空字符串 作为您的匹配表达式
  • Xvfb 冻结初始化 GLX 扩展

    我正在尝试运行无头 Xvfb 服务器来捕获 Amazon EC2 micro 上的屏幕截图 但它在 GLX 上陷入了困境 我使用此脚本安装了 GLX Xvfb 和所有库 https gist github com joekiller 414
  • 选择时的套接字阻塞和超时

    我目前正在创建一个回显服务器 该服务器在空闲 maxWaitTime 后断开客户端连接 我希望程序会阻塞套接字 直到客户端发送数据 但是当我在 gdb 中运行该程序时 它会通过 select 并阻塞 Readline 我知道 retval
  • 使用 NSOutputStream 通过套接字发送数据的正确方法

    我刚刚开始在 iOS 上进行套接字编程 我正在努力确定 的使用NSStreamEventHasSpaceAvailable活动为NSOutputStreams 一方面 苹果官方文档 清单2 https developer apple com
  • 如何知道 Socket 的发送缓冲区中有多少数据

    我可以通过调用来知道 Socket 的接收缓冲区中有多少数据Socket IOControl IOControlCode DataToRead null outValue 是否有等效的方法来告诉 Socket 的发送缓冲区中有多少数据 我需
  • 选择fasta文件中氨基酸超过300个且“C”出现至少4次的序列

    我有一个包含蛋白质序列的 fasta 文件 我想选择超过 300 个氨基酸且半胱氨酸 C 氨基酸出现超过 4 次的序列 我使用此命令来选择具有超过 300 个 aa 的序列 cat 72hDOWN fasta fasta bioawk c
  • 应用程序中两个不同版本的库

    考虑一个场景 其中有两个不同版本的共享库 考虑 A 1 so 链接到 B so A 2 so 链接到 C so 现在 B so 和 C so 都链接到 d exe 当 B so 想要调用 A 1 so 中的函数时 它最终会调用 A 2 so
  • PHP Socket Java 消息交换

    我正在尝试在 PHP 页面和正在运行的 Java 服务器之间进行通信 只是通过套接字进行简单的字符串交换 这是我处理连接的线程的 Java 代码 InputStream in clientSocket getInputStream Buff
  • 如何将一个文本文件拆分为多个 *.txt 文件?

    我有一个文本文件file txt 12 MB 包含 something1 something2 something3 something4 有没有办法分开file txt分成 12 个 txt 文件 比方说file2 txt file3 t
  • 对于任何真实数据集,数据压缩比的最小可能值是多少

    我在写信ZLIB类似于嵌入式硬件压缩器的 API 它使用 deflate 算法来压缩给定的输入流 在进一步讨论之前 我想解释一下数据压缩率 数据压缩率定义为未压缩大小与压缩大小之间的比率 压缩比通常大于一 这意味着压缩数据通常比未压缩数据小
  • 如何获取与 shell 中的文件名模式匹配的所有文件的总文件大小?

    我正在尝试仅使用 shell 来计算与文件名模式匹配的所有文件 在目录树中 的总大小 以字节为单位 这是我到目前为止所拥有的 find name undo exec stat c s awk 总计 1 END 打印总计 有没有更简单的方法来
  • 在本地主机上使用相同的 IP 和端口创建套接字

    我在 Linux 上看到奇怪的行为 我看到远程端和本地端都显示相同的 IP 和端口组合 以下是 netstat 输出 netstat anp 网络统计grep 6102 tcp 0 0 139 185 44 123 61020 0 0 0
  • 在ubuntu中打开spyder

    我想在ubuntu中打开spyder Python IDE 通常我会在 shell 中编写 spyder 它会打开spyder IDE 现在 当我在shell中编写spyder时 它只是换行 什么也没有发生 类似于按 enter 我如何找回
  • bash 将输出重定向到文件,但结果不完整

    重定向命令输出的问题已经被问过很多次了 但是我有一个奇怪的行为 我使用的是 bash shell debian 版本 4 3 30 1 release 并尝试将输出重定向到文件 但并非所有内容都记录在文件中 我尝试运行的 bin 文件是 l
  • express.io VS express + socket.io 有什么用处?

    我在这里发现了 socket io 和聊天示例 https github com rauchg chat example blob master index js https github com rauchg chat example b
  • “git add”返回“致命:外部存储库”错误

    我刚刚进入 git 的奇妙世界 我必须提交我对程序所做的一系列更改 位于名为的目录中 var www myapp 我创建了一个新目录 home mylogin gitclone 从这个目录中 我做了一个git clone针对公共回购 我能够
  • 如何从 C++ 程序中重新启动 Linux?

    我有一个 Qt 4 GUI 我需要在下拉菜单中提供一个选项 允许用户选择重新启动计算机 我意识到这对于以其他方式重新启动计算机的能力来说似乎是多余的 但选择需要保留在那里 我尝试使用 system 来调用以下内容 suid root she
  • Ubuntu Python shebang 线不工作

    无法让 shebang 线在 Ubuntu 中为 python 脚本工作 我每次只收到命令未找到错误 test py usr bin env python print Ran which python usr bin python 在 sh
  • 当我退出应用程序时,如何删除 UNIX 域套接字文件?

    我有一个服务器应用程序 它在特定路径中创建一个 UNIX 域套接字 其名称和bind 到它 仅当我有意从应用程序代码中关闭 停止应用程序时 我才需要删除套接字 否则需要打开 我该怎么做呢 Thanks Edit 考虑一下我从终端内部启动并运
  • Python 3.4.3 subprocess.Popen 在没有管道的情况下获取命令的输出?

    我试图将命令的输出分配给变量 而不让命令认为它正在通过管道传输 原因是 如果正在通过管道传输 则相关命令会给出未格式化的文本作为输出 但如果从终端运行 则会给出颜色格式化的文本 我需要获取这种颜色格式的文本 到目前为止我已经尝试了一些事情

随机推荐