当前位置: 首页 > 面试题库 >

如何获得与打开端口的应用程序相关的端口?

乐正嘉瑞
2023-03-14
问题内容

我需要获取机器上所有打开的端口以及打开它们的应用程序的列表。我需要以编程方式获取此信息。

谢谢。


问题答案:

我希望能有一个更聪明的答案。我只是这样做(用Python编程),试图重写一个名为NetHogs的程序。我的版本在这里,特别是这里是Python中用于从中解析表的模块/proc。如果您不是精通Python的人(请学习它),那么请看一下原始的NetHogs,它使用了C
/ C ++的混合(阅读起来很麻烦,因此需要重写)。

值得注意的是,解析/proc操作系统中的套接字信息的大量或快速重复尝试非常占用CPU资源,因为操作系统必须处理所做的每个系统调用,并动态解析内部结构。这样,您会在我链接到的两个项目的源代码中找到一些缓存和时序假设。

简而言之,您需要将为每个进程指定的套接字inode与中给定/proc/<pid>/fd的连接相关联/proc/net/<proto>。再次,示例解析以及如何找到所有这些都存在于两个项目中。



 类似资料:
  • 我想从节点内部获取映射端口。js应用程序。 前任。 : : 我想从node获取端口。js应用。 有什么想法吗?

  • 问题内容: 我在Windows设备管理器中有一个带有USB设备的串行设备,其名称类似。设备在系统启动时并不总是抓住相同的COM端口,因此我的程序需要在启动时识别它。 我曾尝试使用RXTX枚举系统上的COM端口,但这没有用,因为仅返回COM名称(例如COM1,COM2等),我需要获取驱动程序制造商名称或驱动程序在设备管理器中显示的名称,并将其与COM名称相关联。 可以用Java轻松完成吗?(我会对支

  • 问题内容: 有什么办法可以使可执行文件.jar双击后打开命令行? 我正在制作一个基于文本的冒险游戏。截至目前,它只是带有房间的迷宫。最终它将变得更大,更深入,但是现在我只想了解基本结构。无论如何,要完成这项工作,我一直在从System.out.printf命令和java.util.Scanner获取输出和输入。到目前为止,所有功能都运行良好,但是当我尝试将其发送给不知道如何或者不想从命令行运行程序

  • 问题内容: 我希望能够从终端中运行的node.js程序打开,创建一些内容,保存并退出,然后获取文件的内容。 我正在尝试做这样的事情: 但是,当它运行时,它只是将终端挂起。 我也尝试过,并得到相同的结果。 更新: 由于此过程是从运行readline的提示符下键入的命令启动的,因此使此过程变得复杂。我将最新版本的相关部分完全提取到了文件中。全文如下: 如上所示,它的工作方式是显示提示几秒钟,然后启动到

  • 问题:当spring准备好处理流量时,spring或其嵌入式servlet容器中是否有打开端口的选项? 情况:在当前的设置中,我使用了一个在google cloud run中运行的spring boot应用程序。 情况: > Cloud run不支持liveness/Readynes探测,它将开放端口视为“应用程序就绪”。 Cloud run将请求发送到容器,尽管spring尚未准备好处理请求。

  • 我不想更改端口号,但收到异常“exception in thread”main“java.net.BindException:Address already in use:JVM_Bind” ServerSocket服务器=新服务器套接字(1234180);