4

当我从 Windows7/Vista 向 Linux Red Hat 4 发送 HTTPS 请求时,该netstat -an <my_ip>命令显示FIN_WAIT1ORSYNC_RECV状态。

为什么会出现这些状态而不是ESTABLISHED

4

2 回答 2

4

TCP 连接正在关闭,请参阅http://www.freesoft.org/CIE/Course/Section4/11.htm

于 2011-05-06T11:02:17.840 回答
0

FIN_WAIT1 是什么意思?:TCP 连接正在关闭

我有一个 Python 示例来显示流程:

  1. 我让我的服务器监听连接:
>>> import sys, socket
>>> sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
>>> sock.bind(('172.31.35.6', 6677))
>>> sock.listen()
>>> conn, client_address = sock.accept()
  1. 我将客户端连接到服务器
>>> import sys, socket
>>> conn = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
>>> conn.connect(('3.19.54.89', 6677))
  1. 连接已建立
root@ip-172-31-35-6:/home/ubuntu# netstat | grep 6677
tcp        0      0 ip-172-31-35-6.us-:6677 cpea84e3ff37803-c:54944 ESTABLISHED
  1. 关闭连接时记录 netstat 状态:
root@ip-172-31-35-6:/home/ubuntu# while true; do netstat | grep 6677; done > ~/tmp
  1. 关闭连接
>>> conn.close()
  1. 查看第 4 步创建的 netstat 日志:
tcp        0      0 ip-172-31-35-6.us-:6677 cpea84e3ff37803-c:55037 ESTABLISHED
tcp        0      0 ip-172-31-35-6.us-:6677 cpea84e3ff37803-c:55037 ESTABLISHED
tcp        0      1 ip-172-31-35-6.us-:6677 cpea84e3ff37803-c:55037 FIN_WAIT1  
tcp        0      1 ip-172-31-35-6.us-:6677 cpea84e3ff37803-c:55037 FIN_WAIT1  
tcp        0      1 ip-172-31-35-6.us-:6677 cpea84e3ff37803-c:55037 FIN_WAIT1  
tcp        0      1 ip-172-31-35-6.us-:6677 cpea84e3ff37803-c:55037 FIN_WAIT1  
tcp        0      1 ip-172-31-35-6.us-:6677 cpea84e3ff37803-c:55037 FIN_WAIT1  
tcp        0      1 ip-172-31-35-6.us-:6677 cpea84e3ff37803-c:55037 FIN_WAIT1  
tcp        0      1 ip-172-31-35-6.us-:6677 cpea84e3ff37803-c:55037 FIN_WAIT1  
tcp        0      1 ip-172-31-35-6.us-:6677 cpea84e3ff37803-c:55037 FIN_WAIT1  
tcp        0      1 ip-172-31-35-6.us-:6677 cpea84e3ff37803-c:55037 FIN_WAIT1  
tcp        0      1 ip-172-31-35-6.us-:6677 cpea84e3ff37803-c:55037 FIN_WAIT1  
tcp        0      0 ip-172-31-35-6.us-:6677 cpea84e3ff37803-c:55037 FIN_WAIT2 
于 2020-12-13T23:59:23.937 回答