zoukankan      html  css  js  c++  java
  • 如何构造一个 SYN_SENT 状态的连接

    对于客户端而言:
    
    初始的状态是处于 CLOSED 状态。CLOSED 并不是一个真实的状态,而是一个假想的起点和终点。
    
    
    客户端调用 connect 以后会发送 SYN 同步报文给服务端,然后进入 SYN-SENT 阶段,客户端将保持这个阶段直到它收到了服务端的确认包。
    
    
    如果在 SYN-SENT 状态收到了服务端的确认包,它将发送确认服务端 SYN 报文的 ACK 包,同时进入 ESTABLISHED 状态,表明自己已经准备好发送数据。
    
    node2:/root/test#time python t18.py 
    Traceback (most recent call last):
      File "t18.py", line 6, in <module>
        s.connect(("1.1.1.1",8089))
      File "/usr/local/python27/lib/python2.7/socket.py", line 224, in meth
        return getattr(self._sock,name)(*args)
    socket.error: [Errno 110] Connection timed out
    
    real	1m3.031s
    user	0m0.024s
    sys	0m0.006s
    
    Last login: Sun Mar  8 11:05:42 2020 from 192.168.137.1
    node2:/root#netstat -na | grep 1.1.1.1
    tcp        0      1 192.168.137.3:36674         1.1.1.1:8089                SYN_SENT    
    node2:/root#
    node2:/root#tcpdump -S -i eth1 '((tcp) and  (port 8089) and (host 1.1.1.1))'
    tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
    listening on eth1, link-type EN10MB (Ethernet), capture size 65535 bytes
    12:09:35.772552 IP node2.36705 > one.one.one.one.8089: Flags [S], seq 4166753538, win 14600, options [mss 1460,sackOK,TS val 199217467 ecr 0,nop,wscale 7], length 0
    12:09:36.772292 IP node2.36705 > one.one.one.one.8089: Flags [S], seq 4166753538, win 14600, options [mss 1460,sackOK,TS val 199218467 ecr 0,nop,wscale 7], length 0
    12:09:38.772543 IP node2.36705 > one.one.one.one.8089: Flags [S], seq 4166753538, win 14600, options [mss 1460,sackOK,TS val 199220467 ecr 0,nop,wscale 7], length 0
    12:09:42.772616 IP node2.36705 > one.one.one.one.8089: Flags [S], seq 4166753538, win 14600, options [mss 1460,sackOK,TS val 199224467 ecr 0,nop,wscale 7], length 0
    12:09:50.772741 IP node2.36705 > one.one.one.one.8089: Flags [S], seq 4166753538, win 14600, options [mss 1460,sackOK,TS val 199232467 ecr 0,nop,wscale 7], length 0
    12:10:06.772496 IP node2.36705 > one.one.one.one.8089: Flags [S], seq 4166753538, win 14600, options [mss 1460,sackOK,TS val 199248467 ecr 0,nop,wscale 7], length 0
    SYN 包重传了 6 次,这个值是由/proc/sys/net/ipv4/tcp_syn_retries决定的, 在我的 Centos 机器上,这个值等于 6
    cat /proc/sys/net/ipv4/tcp_syn_retries
    6
  • 相关阅读:
    pytorch-卷积基本网络结构-提取网络参数-初始化网络参数
    pytorch-mnist神经网络训练
    python 面对对象 类(继承, 多态)
    注意机制CBAM
    python sqlalchemy 进行 mysql 数据库操作
    python pymysql 连接 mysql数据库进行操作
    mysql数据库基础
    python正则表达式解析(re)
    python 装饰器 (test = submit(test))
    对opencv读取的图片进行像素调整(1080, 1920) 1.cv2.VideoCapture(构造图片读取) 2.cv2.nameWindow(构建视频显示的窗口) 3.cv2.setWindowProperty(设置图片窗口的像素) 4.video_capture(对图片像素进行设置)
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13348491.html
Copyright © 2011-2022 走看看