Above, we generally understand a little TCP protocol, it is important to be familiar with TCP's header. Because the most important data of the data stream is something in the header, as for the transmitted data, just HEADER. The service response of the client and server is related to the data inside the header. The information exchange and exchange of both ends is implemented according to the content in the header, so to implement DOS, you must be very familiar with the content in Header. The following is the TCP data section format. Source Port and Destination Port: It is a local port and target port Sequence Number and AcknowledgeDGment Number: It is the sequence number and confirmation number, the confirmation number is the byte number you want to receive. This is 32-bit, in the TCP stream, each data byte is numbered. Data Offset: Indicates how many 32-bit words containing the TCP header to determine the length of the head, because the selectable field length in the head is not unique. Receive and send break according to these markers to determine the type of information flow. Here are some introductions: uger: (Urgent Pointer Field Significant) emergency pointer. The value is only 1, used to process the TCP data stream interrupt. push: (push function), the data of the PUSH logo, the data segment requested when 1 will be delivered directly to the application after the receiver is obtained, without having to transfer when the buffer is full. RST: (RESET THE CONNECTION) is used to reset the error connection that causes some reason, also used to reject illegal data and requests. If you receive an RST bit, some errors have occurred. Synchronize Sequence NumBers is used to establish a connection, in the connection request, SYN = 1, ACK = 0, when the connection response, SYN = 1, ACK = 1. That is, SYN and ACK distinguish CONNECTION Request and Connection Accepted. Fin: (no more data from sender) is used to release the connection, indicating that the sender has no data sent. We will continue to come after the 6 instructions of this important thing. 16-bit Window field: indicates how many bytes can be sent after the byte is confirmed. It can be 0, indicating that all data segments including the confirmation number reduction 1 (ie, all data have been sent) have been received. next is 16-bit Checksum fields to ensure reliability. 16-bit Urgent Pointer, and the following fields we do not explain. Otherwise it is too much. Oh, lazy.