Beispiel #1
0
                ip, tcp = reply(ip, tcp)
                tcp.set_th_ack(tcp.get_th_seq() + data_len)
                tcp.set_th_seq(1)
                tcp.reset_FIN()
                buf = ip.get_packet()
                print(tcp, tcp.get_th_seq(), tcp.get_th_ack())
                server.sendto(buf, ('127.0.0.1', 0))

                tcp.set_FIN()
                buf = ip.get_packet()
                print(tcp, tcp.get_th_seq(), tcp.get_th_ack())
                server.sendto(buf, ('127.0.0.1', 0))

                state = 3
            else:
                tcp_len = tcp.get_size()
                head_len = (ip_len + tcp_len)
                msg = data[head_len:]
                data_len = len(data) - head_len
                print(msg)
                ip, tcp = reply(ip, tcp)
                tcp.set_ACK()
                tcp.reset_PSH()
                tcp.set_th_ack(tcp.get_th_seq() + data_len)
                tcp.set_th_seq(1)
                tcp.calculate_checksum()
                buf = ip.get_packet()
                print(tcp, tcp.get_th_seq(), tcp.get_th_ack())
                server.sendto(buf, ('127.0.0.1', 0))
        elif state == 3:
            print('closed...')