X-Git-Url: https://git.tcpdump.org/tcpdump/blobdiff_plain/5de6f0fd81f60ec31d9cfceafd1001d59fbfb376..refs/pull/433/head:/tcp.h diff --git a/tcp.h b/tcp.h index 75c6d9cf..c18d1382 100644 --- a/tcp.h +++ b/tcp.h @@ -1,4 +1,3 @@ -/* @(#) $Header: /tcpdump/master/tcpdump/tcp.h,v 1.8 2001-05-09 01:16:57 fenner Exp $ (LBL) */ /* * Copyright (c) 1982, 1986, 1993 * The Regents of the University of California. All rights reserved. @@ -34,31 +33,35 @@ * @(#)tcp.h 8.1 (Berkeley) 6/10/93 */ -typedef u_int32_t tcp_seq; +typedef uint32_t tcp_seq; /* * TCP header. * Per RFC 793, September, 1981. */ struct tcphdr { - u_int16_t th_sport; /* source port */ - u_int16_t th_dport; /* destination port */ + uint16_t th_sport; /* source port */ + uint16_t th_dport; /* destination port */ tcp_seq th_seq; /* sequence number */ tcp_seq th_ack; /* acknowledgement number */ - u_int8_t th_offx2; /* data offset, rsvd */ + uint8_t th_offx2; /* data offset, rsvd */ + uint8_t th_flags; + uint16_t th_win; /* window */ + uint16_t th_sum; /* checksum */ + uint16_t th_urp; /* urgent pointer */ +} UNALIGNED; + #define TH_OFF(th) (((th)->th_offx2 & 0xf0) >> 4) - u_int8_t th_flags; -#define TH_FIN 0x01 -#define TH_SYN 0x02 -#define TH_RST 0x04 -#define TH_PUSH 0x08 -#define TH_ACK 0x10 -#define TH_URG 0x20 -#define TH_ECNECHO 0x40 /* ECN Echo */ -#define TH_CWR 0x80 /* ECN Cwnd Reduced */ - u_int16_t th_win; /* window */ - u_int16_t th_sum; /* checksum */ - u_int16_t th_urp; /* urgent pointer */ -}; + +/* TCP flags */ +#define TH_FIN 0x01 +#define TH_SYN 0x02 +#define TH_RST 0x04 +#define TH_PUSH 0x08 +#define TH_ACK 0x10 +#define TH_URG 0x20 +#define TH_ECNECHO 0x40 /* ECN Echo */ +#define TH_CWR 0x80 /* ECN Cwnd Reduced */ + #define TCPOPT_EOL 0 #define TCPOPT_NOP 1 @@ -75,6 +78,59 @@ struct tcphdr { #define TCPOPT_CC 11 /* T/TCP CC options (rfc1644) */ #define TCPOPT_CCNEW 12 /* T/TCP CC options (rfc1644) */ #define TCPOPT_CCECHO 13 /* T/TCP CC options (rfc1644) */ +#define TCPOPT_SIGNATURE 19 /* Keyed MD5 (rfc2385) */ +#define TCPOLEN_SIGNATURE 18 +#define TCP_SIGLEN 16 /* length of an option 19 digest */ +#define TCPOPT_AUTH 20 /* Enhanced AUTH option */ +#define TCPOPT_UTO 28 /* tcp user timeout (rfc5482) */ +#define TCPOLEN_UTO 4 +#define TCPOPT_MPTCP 30 /* MPTCP options */ +#define TCPOPT_EXPERIMENT2 254 /* experimental headers (rfc4727) */ #define TCPOPT_TSTAMP_HDR \ (TCPOPT_NOP<<24|TCPOPT_NOP<<16|TCPOPT_TIMESTAMP<<8|TCPOLEN_TIMESTAMP) + +#ifndef TELNET_PORT +#define TELNET_PORT 23 +#endif +#ifndef SMTP_PORT +#define SMTP_PORT 25 +#endif +#ifndef BGP_PORT +#define BGP_PORT 179 +#endif +#define NETBIOS_SSN_PORT 139 +#ifndef OPENFLOW_PORT_OLD +#define OPENFLOW_PORT_OLD 6633 +#endif +#ifndef OPENFLOW_PORT_IANA +#define OPENFLOW_PORT_IANA 6653 +#endif +#ifndef PPTP_PORT +#define PPTP_PORT 1723 +#endif +#define BEEP_PORT 10288 +#ifndef NFS_PORT +#define NFS_PORT 2049 +#endif +#define MSDP_PORT 639 +#define RPKI_RTR_PORT 323 +#define LDP_PORT 646 +#ifndef SMB_PORT +#define SMB_PORT 445 +#endif +#ifndef HTTP_PORT +#define HTTP_PORT 80 +#endif +#ifndef HTTP_PORT_ALT +#define HTTP_PORT_ALT 8080 +#endif +#ifndef RTSP_PORT +#define RTSP_PORT 554 +#endif +#ifndef RTSP_PORT_ALT +#define RTSP_PORT_ALT 8554 +#endif +#ifndef FTP_PORT +#define FTP_PORT 21 +#endif