linux – tcpdump可以告诉访问端口号吗?

linux – tcpdump可以告诉访问端口号吗?,第1张

概述我有一个带有两个NIC的服务器,我想只在eth1上打开那些正在使用的端口. 题 如何让tcpdump告诉我在eth1上访问的端口号? 定义“使用过的”端口可能非常棘手.您必须考虑协议是什么以及它们如何工作以确定实际提供的服务是什么,而不是客户尝试使用什么,但实际上没有使用,以及提供什么作为服务,正由客户使用,但不应由该系统提供. 所以,你真正需要弄清楚的是: >服务器实际提供和使用的是什么 >服务 我有一个带有两个NIC的服务器,我想只在eth1上打开那些正在使用的端口.

如何让tcpdump告诉我在eth1上访问的端口号?

解决方法 定义“使用过的”端口可能非常棘手.您必须考虑协议是什么以及它们如何工作以确定实际提供的服务是什么,而不是客户尝试使用什么,但实际上没有使用,以及提供什么作为服务,正由客户使用,但不应由该系统提供.

所以,你真正需要弄清楚的是:

>服务器实际提供和使用的是什么
>服务器应该提供什么

理想情况下,系统管理员应该根据他们对系统及其文档的了解来回答这两个问题.在实践中,出于各种各样的原因,从营业额到无能,他们实际上可能没有那个答案.您可以通过多种方式确定此信息,但您将从网络流量分析中获得最佳结果.

tcpdump是一个很棒的工具,但并不适合你想要的那种调查.它具有捕获所有数据包的问题,​​这意味着您将看到所有网络扫描,广播以及所有其他未实际连接的信息.为此目的使用流分析的好处是您可以仅在已建立的连接上过滤流量.这个很重要.这可以让您知道谁在您的系统上实际使用服务.当然,“已建立”的整个概念非常依赖于TCP,因此对于UDP等无连接协议,您需要在分析中更加小心.

对此的简单回答是使用像netflows这样的东西.与网络人员交谈.大多数(如果不是全部)网络空间中的大型参与者都可以生成与Cisco netflow功能相同的功能. Juniper将其称为jflow,开放标准是sflow.您的网络人员可能已启用此功能,如果没有查看是否可以获取为您的服务器连接的交换机端口生成的流数据.

如果您没有可用的netflow,那么QosIEnt生成一个名为argus的开源应用程序.Argus也会生成流数据,但它不是在网络设备上运行,而是在系统上运行的软件包.传统上,您可以将argus守护程序指向连接到镜像/跨接端口或分接头的接口.但是,您可以轻松地将其指向eth1并专门为该端口生成流数据.

获得流量数据后,您可以开始进行各种各样的分析,以确定使用的是什么以及由谁使用.通过将端口与应用程序相关联,查看netstat的-p选项,然后您可以开始确定系统上实际需要运行的内容.此外,由于您将拥有使用该服务的网络地址,您可以使用该服务以及与客户的通信,以确定受众并制定一些非常严格定义的防火墙规则.

睁着眼睛进入这个.这个过程令人沮丧,容易出错,而且很难.会有错误.就像我说的,正确的方法是询问管理员应该运行的是什么.当你不能这样做时,这是下一个最好的事情.

总结

以上是内存溢出为你收集整理的linux – tcpdump可以告诉访问端口号吗?全部内容,希望文章能够帮你解决linux – tcpdump可以告诉访问端口号吗?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1040381.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存