netstat 命令当中的内部地址和外部地址分别代表的是什么?
RT,用自己的话解释,不要搬网上的内容。尽量可以简洁,谢谢
网络连接是有2方参与,自己就是“内部地址”,别人就是“外部地址”,就这么简洁。
再举个例子,你用浏览器打开百度网站时,自己的 IP 地址就是内部地址了,也叫“本地地址”,百度服务器的IP就是外部地址,也就“远程地址”。
1
2
3
4
5
6
7
8
9
10
11
12
|
C:\Users\Administrator> netstat -n Active Connections Proto Local Address Foreign Address State TCP 127.0.0.1:1110 127.0.0.1:52802 TIME_WAIT TCP 192.168.1.10:49166 62.213.110.149:80 CLOSE_WAIT TCP 192.168.1.10:49227 221.176.30.206:5201 ESTABLISHED TCP 192.168.1.10:49245 192.168.1.10:1110 ESTABLISHED TCP 192.168.1.10:49246 221.176.28.63:8080 ESTABLISHED TCP 192.168.1.10:49612 62.128.100.213:21 ESTABLISHED TCP 192.168.1.10:49621 62.128.100.213:21248 ESTABLISHED |
那为什么有的时候两个地址的ip都是一样的呢(比如:127.0.0.1)?还有就是自己ipconfig所得到的ipv4地址和我在百度搜自己的ip是不一样的,这是什么原因?比如(自己ping:192.168.1.106,百度查的:121.204.218.202),这样我又该相信哪个才是真实的呢?
那个连接是自己连接到自己的,我们的程序是可以自己机器连接到自己的机器的,比如你开了代理服务器然后自己浏览器连接到代理服务器上,另一个例子就是 eclipse 启动一种程序来调试,JVM启动之后会开一个端口,然后 eclipse 会连接上去,这时候本地地址和外部地址都是你的机器的 IP 嘛。
关于看到的 IP 不同这件事很简单,因为你的 192.168 是内网地址,你的电脑没有直接连接到互联网,而是经过 ADSL 拨号的,那个 ADSL 得到的IP 地址又叫公网地址,它是直连互联网的,百度从互联网上只能看到你的公网地址,在网络术语中,你的路由器或 ADSL 被称为网关 (gateway),这个字面上意思就是相当于古代的城门。
像百度自己是做生意的,它会申请公网地址,而且这个地址是固定的,在 ISP 运营商那里备案的。不像我们每天拨号上网。
弱弱的问下那要怎样才算是自己的电脑直接连上互联网?wifi?
我们个人用户电脑不会直连互联网,也不需要直连,通过路由器连上去就好了。
直连互联网要求去 ISP (比如电信联通)去申请,得到一个固定的 IP 地址,然后每年交年费使用它,这个费用不便宜,只有做生意的人才有必要去申请,比如你们公司申请宽带就是得到一个固定的公网地址。每个企业都有很多机器,每个机器都直连互联网是不切实际的,不仅费用高,而且 IP v4 的 地址早已不够用了,大家都需要用在内网中使用内网地址,通过网关连接到互联网,这不仅节省费用更是安全的原则,我们只需要在路由器(充当网关)上设置一次防火墙就可以了,如果每台机器都直连互联网,就需要每台机器都配置,这就复杂了。
我们拨号上网也能直连互联网,但不能使用像路由器这些设备,必须电脑直接拨号,ADSL出来的线接网卡上。
基本上就没有必要直连互联网,都要通过网关才安全。哪怕是百度的服务器也不是直连互联网,而是前面有几个”负载均衡“的前置机,这时前置机直连互联网,来平均分配流量,免得大家都同时访问一台机器导致性能问题。总之我们向互联网开放的接口就叫公网地址,也就是那个直接连接着 ISP(电信或联通之类的)送来的网线的那个网卡的地址。
我们用 ADSL 拨号直接把那根线接网卡上,不用路由器,并且网卡 IP 设定为”自动分配 IP地址“它就能得到来自 ISP 的公网地址。
现在有些 ADSL 本身自带简易内置的傻瓜式路由器的,所以那样就始终是 ADSL自带的路由器 当网关。
这里你自己电脑本身网络还是直接能连接到互联网的,只是说你的 PC 经过网关或代理连接到互联网,这并不影响你上网,这对个人用户来说是好事,否则互联网上的可以简单地打开你的电脑上的共享文件夹,啥东西都被人家看到了。
- 提问者评价
-
回答的实在是太详细太完美了,perfect!
zEACK0.0.0.0是一个特殊的IP地址,指的是本机的全部IP地址。如果一个应用绑定了0.0.0.0上的某个端口,意味着只要是发往这个端口的请求,不管是来自哪个IP地址,都会由这个应用处理。一般服务器都是多网卡的。
State解释
链路状态,共有11种
state列共有12中可能的状态,前面11种是按照TCP连接建立的三次握手和TCP连接断开的四次挥手过程来描述的。
LISTEN :首先服务端需要打开一个socket进行监听,状态为LISTEN./*The socket is listening for incoming connections. 侦听来自远方TCP端口的连接请求 */
SYN_SENT:客户端通过应用程序调用connect进行activeopen.于是客户端tcp发送一个SYN以请求建立一个连接.之后状态SYN_SENT。/*The socket is actively attempting to establish aconnection. 在发送连接请求后等待匹配的连接请求 */
SYN_RECV:服务端应发出ACK确认客户端的 SYN,同时自己向客户端发送一个SYN.之后状态置为SYN_RECV/* A connection request has been received from the network. 在收到和发送一个连接请求后等待对连接请求的确认 */
ESTABLISHED:代表一个打开的连接,双方可以进行或已经在数据交互了。/* The socket has an established connection. 代表一个打开的连接,数据可以传送给用户 */
FIN_WAIT1:主动关闭(activeclose)端应用程序调用close,于是其TCP发出FIN请求主动关闭连接,之后进入FIN_WAIT1状态./* The socket is closed, and the connection is shutting down. 等待远程TCP的连接中断请求,或先前的连接中断请求的确认 */
CLOSE_WAIT:被动关闭(passiveclose)端TCP接到FIN后,就发出ACK以回应FIN请求(它的接收也作为文件结束符传递给上层应用程序),并进入CLOSE_WAIT./* The remote end has shut down, waiting for the socketto close. 等待从本地用户发来的连接中断请求 */
FIN_WAIT2:主动关闭端接到ACK后,就进入了FIN-WAIT-2./* Connection is closed, and the socket is waiting for a shutdownfrom the remote end. 从远程TCP等待连接中断请求 */
LAST_ACK:被动关闭端一段时间后,接收到文件结束符的应用程 序将调用CLOSE关闭连接。这导致它的TCP也发送一个 FIN,等待对方的ACK.就进入了LAST-ACK./* The remote end has shut down, and the socket is closed. Waiting foracknowledgement. 等待原来发向远程TCP的连接中断请求的确认 */
TIME_WAIT:在主动关闭端接收到FIN后,TCP 就发送ACK包,并进入TIME-WAIT状态。/* Thesocket is waiting after close to handle packets still in the network.等待足够的时间以确保远程TCP接收到连接中断请求的确认*/
CLOSING:比较少见./* Bothsockets are shut down but we still don’t have all our datasent. 等待远程TCP对连接中断的确认 */
CLOSED:被动关闭端在接受到ACK包后,就进入了closed的状态。连接结束./*The socket is not being used. 没有任何连接状态 */
UNKNOWN:未知的Socket状态。/* Thestate of the socket is unknown. */
from:http://zhidao.baidu.com/link?url=A8P2ZKEz01tG_zpSoZOXZg14u09zr4HSNOzCT59endD6F_28pGP9ut44JPeMAZx4jHcRB9Y_7oXdbZ5taJT6xr2u8Pn6-4XdHvF0_E
from:http://zhidao.baidu.com/link?url=11moBOMtG9IeW0TBcM-Un6NNkJT74tG-fCta2tUv90s3wBQlAIp-hy9d7J5WOMfdfOSrKe2KXnvLimYjNuGpIK
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
2019-02-26 数据仓库