如何理解netstat的本地地址和外部地址?-灵析社区

云卿山手

我在服务器上执行如下命令: `netstat -anp | grep 6379` 查看redis的6379端口情况,结果如下所示: [root@test001 ~]# netstat -anp | grep 6379 tcp 0 0 0.0.0.0:6379 0.0.0.0:* LISTEN 949/redis-server 0. tcp 0 0 192.168.0.11:55160 41.92.250.40:6379 ESTABLISHED 3184/php7.4 tcp 0 100 127.0.0.1:6379 127.0.0.1:42116 ESTABLISHED - tcp 0 0 192.168.0.11:55164 41.92.250.40:6379 ESTABLISHED 3216/php7.4 tcp 0 0 127.0.0.1:41684 127.0.0.1:6379 TIME_WAIT - tcp 0 0 127.0.0.1:41688 127.0.0.1:6379 TIME_WAIT - tcp 0 0 127.0.0.1:37384 127.0.0.1:6379 ESTABLISHED 29046/php tcp 0 0 127.0.0.1:42116 127.0.0.1:6379 ESTABLISHED 30970/php-fpm: pool tcp 0 0 192.168.0.11:6379 41.92.250.40:55164 ESTABLISHED 949/redis-server 0. tcp 0 0 192.168.0.11:55156 41.92.250.40:6379 ESTABLISHED 3182/php7.4 tcp 0 0 192.168.0.11:6379 41.92.250.40:55156 ESTABLISHED 949/redis-server 0. tcp 0 0 127.0.0.1:6379 127.0.0.1:37384 ESTABLISHED 949/redis-server 0. tcp 0 0 127.0.0.1:41682 127.0.0.1:6379 TIME_WAIT - tcp 0 0 192.168.0.11:6379 41.92.250.40:55160 ESTABLISHED 949/redis-server 0. 上面的192.168.0.11是内网地址,41.92.250.40是公网地址(当然为了安全我这边是随便改了不是真实的地址) 阿某云买的服务器,上面有两个ip 41.92.250.40(公) 192.168.0.11(私有) 现在我对Local Address 本地地址还有Foreign Address 外部地址不懂,比如以第二条数据为例: tcp 0 0 192.168.0.11:55160 41.92.250.40:6379 ESTABLISHED 3184/php7.4 这里的55160端口是什么?还有和他配对的是不是最后一条 tcp 0 0 192.168.0.11:6379 41.92.250.40:55160 ESTABLISHED 949/redis-server 0. 感觉正好反过来似的,如何理解这两对的地址加端口? 我的问题是: 1. 如何理解本地地址和外部地址? 2. 上面样例的55160端口是什么意思?以及55160对应的ip地址一下192.168.0.11一下41.92.250.40,不太懂

阅读量:197

点赞量:0

问AI
本机与另外一台机器有一个连接,本机的地址就是本地地址。另外一台机器的地址是外部地址。 一个连接的两端各有一个端口。端口可以是程序指定的(比如用 bind 启动服务),也可能是自动分配的(比如你连接到某一个服务的时候,自己的端口通常就是自动分配的)。 自动分配的时候端口范围通常一个固定的区间(根据操作系统而不同),所以不同的机器分配到同一个端口号是很正常的。 你说的那个正好反过来,可能只是碰巧另一台机器连了本机的 redis ,也去了它的 redis 。分配的端口号又碰巧是一样的。 本机地址的端口跟外部地址的端口没有任何联系。 本机地址,本机端口,外部地址,外部端口 四个属性决定了一个连接。 如果连接两端是同一台机器,那么一个连接在 netstat 里就会出现两次。比如你给出 127.0.0.1:6379 -- 127.0.0.1:37384 这个连接。