一个内网ip对应多个公网ip,如何查看是从哪个公网ip进行通信的

在虚拟nat网关上绑定了多个公网ip地址,nat网关内部有一个服务器,如何查看内部服务器向外网通信是走的哪一个公网ip,有没有工具进行linux数据包流量监控呢东西呢,求指导

可以使用tcpdump和Wireshark等工具来进行Linux数据包流量监控。

以下是使用tcpdump的示例:

打开终端,并以root用户身份执行以下命令安装tcpdump工具:


sudo apt-get install tcpdump


执行以下命令来查看TCP流量:


sudo tcpdump -i eth0 tcp

其中,-i参数指定要监控的网络接口,eth0表示第一个以太网接口。tcp参数指定只监控TCP流量。
可以按Ctrl+C键来停止监控,然后查看输出结果来分析流量。
对于虚拟NAT网关中的多个公网IP地址,可以使用路由跟踪工具来跟踪数据包的路径,以确定使用哪个公网IP地址进行通信。例如,可以使用Linux中的traceroute命令,该命令可用于跟踪数据包的路径并确定通过哪个公网IP地址进行通信。

你可以执行以下命令使用traceroute工具:


traceroute <目标IP地址>

其中,目标IP地址指你要连接的目标服务器的IP地址。执行该命令后,traceroute会显示从你的网络到目标服务器的路径,并标识每个跃点的IP地址。这样,就可以确定从哪个公网IP地址进行通信了。

  • 这篇文章讲的很详细,请看:公网ip经常变动的解决方法
  • 除此之外, 这篇博客: 怎么查看内网ip?如何分辨IP是公网IP还是内网IP?中的 怎么查看内网ip? 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 要想解决怎么查看内网IP的问题。有两种途径

    第一种:1.点击桌面左侧下方的"开始",再点击里面的"运行"。

    2.打开"运行"输入框后,在里面输入"cmd",再按"确定",在打开的窗口中,再输入**“ipconfig /all”**命令行。

    3.输入命令后,再按下回车键,就会得到显示类似下图中的结果,在这些显示的内容中,其中IP Address后面显示的那串数字,就是电脑在内网(局域网)上面的IP地址。
    在这里插入图片描述

    还有一种解决怎么查看内网ip的方法是:

    1.还可以点击"开始"、“设置”、“网络连接”,再在"本地连接"上,点击鼠标右键,在弹出的菜单里面点击"属性"。

    2.再在"本地连接"的属性窗口中,点击"Internet协议",再点击下面的"属性"

    3.在打开的属性窗口中,IP地址后面的框中,显示的也就是本机电脑在内网上的IP地。

  • 您还可以看一下 张先凤老师的《计算机体系结构—网络篇1、2》之 网络结构、IP分组交换技术、IP/MAC映射、NAT转换等课程中的 私网ip 和 公网ip回顾小节, 巩固相关知识点