Date: Sun, 9 Nov 1997 00:35:42 -0800 From: Joe McGuckin <joe@via.net> To: hackers@freebsd.org Subject: TCP questions Message-ID: <199711090835.AAA14711@monk.via.net>
next in thread | raw e-mail | index | archive | help
I was using Solaris' snoop command to debug a telnet proxy. When I issue a setsockopts() call to set the segment size, does that result in an immediate send of a packet? 0: 0000 0c92 fff0 0060 083b e82e 0800 4500 .......`.;....E. 16: 002c c500 4000 2006 cc9c d151 093a cda2 .,..@. ....Q.:.. 32: 2101 0412 0017 012a 8c98 0000 0000 6002 !......*......`. 48: 2000 1d0c 0000 0204 05b4 05b4 ........... Here we have one side setting the max segment size to 1460 (0x05b4). What the heck is that other 0x05b4 in the data stream ? I never see in on the receiving end... Can ACK or SYN packets carry application level data as well ? ETHER: ----- Ether Header ----- ETHER: ETHER: Packet 5 arrived at 1:06:54.95 ETHER: Packet size = 60 bytes ETHER: Destination = 0:0:c:92:ff:f0, Cisco ETHER: Source = 0:60:8:3b:e8:2e, ETHER: Ethertype = 0800 (IP) ETHER: IP: ----- IP Header ----- IP: IP: Version = 4 IP: Header length = 20 bytes IP: Type of service = 0x00 IP: xxx. .... = 0 (precedence) IP: ...0 .... = normal delay IP: .... 0... = normal throughput IP: .... .0.. = normal reliability IP: Total length = 40 bytes IP: Identification = 50688 IP: Flags = 0x4 IP: .1.. .... = do not fragment IP: ..0. .... = last fragment IP: Fragment offset = 0 bytes IP: Time to live = 32 seconds/hops IP: Protocol = 6 (TCP) IP: Header checksum = cba0 IP: Source address = 209.81.9.58, 209.81.9.58 IP: Destination address = 205.162.33.1, trn01.newark.wpac.com IP: No options IP: TCP: ----- TCP Header ----- TCP: TCP: Source port = 1042 TCP: Destination port = 23 (TELNET) TCP: Sequence number = 19565721 TCP: Acknowledgement number = 1683231818 TCP: Data offset = 20 bytes TCP: Flags = 0x10 TCP: ..0. .... = No urgent pointer TCP: ...1 .... = Acknowledgement TCP: .... 0... = No push TCP: .... .0.. = No reset TCP: .... ..0. = No Syn TCP: .... ...0 = No Fin TCP: Window = 8576 TCP: Checksum = 0xba9a TCP: Urgent pointer = 0 TCP: No options TCP: TELNET: ----- TELNET: ----- TELNET: TELNET: "" TELNET: 0: 0000 0c92 fff0 0060 083b e82e 0800 4500 .......`.;....E. 16: 0028 c600 4000 2006 cba0 d151 093a cda2 .(..@. ....Q.:.. 32: 2101 0412 0017 012a 8c99 6454 144a 5010 !......*..dT.JP. 48: 2180 ba9a 0000 0000 0000 0000 !........... Is this sending a bunch of nulls to the other telnet client ? How does the push flag work? If the packet is less than the segment size and the push flag is zero, does that mean that there's no payload ? (Just as in the above packet)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199711090835.AAA14711>