模拟ESB超时关闭连接,服务端报broken pipe:

模拟ESB超时关闭连接,服务端报broken pipe:






服务端报broken pipe:


111-----------------------111
开始回复报文
[Errno 32] Broken pipe
xxx--------------------xxx
222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222
xxx--------------------xxx
111-----------------------111
222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222
111-----------------------111
开始回复报文
[Errno 32] Broken pipe
xxx--------------------xxx

xxx--------------------xxx--------------------xxx


node2:/root/test#python t17.py 
2222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222
14600
MTU: 0
node2:/root/test#cat t17.py 
import socket
# import IN
import struct
b=2
def getnum(x):
    b='2'
    for y in range(x):
        #print y
        b=b+'2'
        if len(b) == x:
            #print '-------------'
            #print len(b)
            return b
print getnum(1024)
c=getnum(14600)
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
class IN:
    IP_MTU = 14
    IP_PMTUDISC_DONT = 0
    IP_PMTUDISC_DO = 2
    IP_MTU_DISCOVER=10
#s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
s.setsockopt(socket.IPPROTO_IP, IN.IP_MTU_DISCOVER,IN.IP_PMTUDISC_DONT)
# print dir(s.setsockopt(socket.SOL_SOCKET))
s.connect(("192.168.137.2",8080))
# s.shutdown(2)
print len(c)
s.send(c)
option = getattr(IN, 'IP_MTU_DISCOVER', 10)
print 'MTU:', s.getsockopt(socket.IPPROTO_IP, option)
s.close()




node2:/root#tcpdump -S -i eth1 '((tcp) and  (host 192.168.137.3) and (port 8080) )'
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth1, link-type EN10MB (Ethernet), capture size 65535 bytes
01:19:02.036428 IP node2.56886 > node1.webcache: Flags [S], seq 4129656312, win 14600, options [mss 1460,sackOK,TS val 14656975 ecr 0,nop,wscale 7], length 0
01:19:02.037174 IP node1.webcache > node2.56886: Flags [S.], seq 1667496054, ack 4129656313, win 14480, options [mss 1460,sackOK,TS val 4513023 ecr 14656975,nop,wscale 6], length 0
01:19:02.037207 IP node2.56886 > node1.webcache: Flags [.], ack 1667496055, win 115, options [nop,nop,TS val 14656976 ecr 4513023], length 0
01:19:02.037370 IP node2.56886 > node1.webcache: Flags [.], seq 4129656313:4129663553, ack 1667496055, win 115, options [nop,nop,TS val 14656976 ecr 4513023], length 7240
01:19:02.037445 IP node2.56886 > node1.webcache: Flags [P.], seq 4129663553:4129670793, ack 1667496055, win 115, options [nop,nop,TS val 14656976 ecr 4513023], length 7240
01:19:02.039021 IP node1.webcache > node2.56886: Flags [.], ack 4129657761, win 272, options [nop,nop,TS val 4513023 ecr 14656976], length 0
01:19:02.039059 IP node2.56886 > node1.webcache: Flags [FP.], seq 4129670793:4129670913, ack 1667496055, win 115, options [nop,nop,TS val 14656977 ecr 4513023], length 120
01:19:02.039158 IP node1.webcache > node2.56886: Flags [.], ack 4129659209, win 317, options [nop,nop,TS val 4513023 ecr 14656976], length 0
01:19:02.039177 IP node1.webcache > node2.56886: Flags [.], ack 4129660657, win 362, options [nop,nop,TS val 4513023 ecr 14656976], length 0
01:19:02.039181 IP node1.webcache > node2.56886: Flags [.], ack 4129662105, win 408, options [nop,nop,TS val 4513023 ecr 14656976], length 0
01:19:02.039182 IP node1.webcache > node2.56886: Flags [.], ack 4129663553, win 453, options [nop,nop,TS val 4513023 ecr 14656976], length 0
01:19:02.039185 IP node1.webcache > node2.56886: Flags [.], ack 4129665001, win 498, options [nop,nop,TS val 4513023 ecr 14656976], length 0
01:19:02.039187 IP node1.webcache > node2.56886: Flags [.], ack 4129666449, win 543, options [nop,nop,TS val 4513023 ecr 14656976], length 0
01:19:02.039189 IP node1.webcache > node2.56886: Flags [.], ack 4129667897, win 589, options [nop,nop,TS val 4513023 ecr 14656976], length 0
01:19:02.039191 IP node1.webcache > node2.56886: Flags [.], ack 4129669345, win 634, options [nop,nop,TS val 4513023 ecr 14656976], length 0
01:19:02.039193 IP node1.webcache > node2.56886: Flags [.], ack 4129670793, win 679, options [nop,nop,TS val 4513023 ecr 14656976], length 0
01:19:02.039195 IP node1.webcache > node2.56886: Flags [P.], seq 1667496055:1667497088, ack 4129670793, win 679, options [nop,nop,TS val 4513023 ecr 14656976], length 1033
01:19:02.039203 IP node2.56886 > node1.webcache: Flags [R], seq 4129670793, win 0, length 0
01:19:02.039398 IP node1.webcache > node2.56886: Flags [.], ack 4129670914, win 679, options [nop,nop,TS val 4513025 ecr 14656977], length 0
01:19:02.039419 IP node2.56886 > node1.webcache: Flags [R], seq 4129670914, win 0, length 0
原文地址:https://www.cnblogs.com/hzcya1995/p/13348454.html