⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bootp.h

📁 This directory contains source code for tcpdump, a tool for network monitoring and data acquisition
💻 H
字号:
/* @(#) $Header: /tcpdump/master/tcpdump/bootp.h,v 1.8 1999/10/17 23:35:46 mcr Exp $ (LBL) */
/*
 * Bootstrap Protocol (BOOTP).  RFC951 and RFC1048.
 *
 * This file specifies the "implementation-independent" BOOTP protocol
 * information which is common to both client and server.
 *
 * Copyright 1988 by Carnegie Mellon.
 *
 * Permission to use, copy, modify, and distribute this program for any
 * purpose and without fee is hereby granted, provided that this copyright
 * and permission notice appear on all copies and supporting documentation,
 * the name of Carnegie Mellon not be used in advertising or publicity
 * pertaining to distribution of the program without specific prior
 * permission, and notice be given in supporting documentation that copying
 * and distribution is by permission of Carnegie Mellon and Stanford
 * University.  Carnegie Mellon makes no representations about the
 * suitability of this software for any purpose.  It is provided "as is"
 * without express or implied warranty.
 */

struct bootp {
       u_char         bp_op;           /* packet opcode type */
       u_char         bp_htype;        /* hardware addr type */
       u_char         bp_hlen;         /* hardware addr length */
       u_char         bp_hops;         /* gateway hops */
       u_int32_t      bp_xid;          /* transaction ID */
       u_short        bp_secs;         /* seconds since boot began */
       u_short        bp_flags;        /* flags: 0x8000 is broadcast */
       struct in_addr bp_ciaddr;       /* client IP address */
       struct in_addr bp_yiaddr;       /* 'your' IP address */
       struct in_addr bp_siaddr;       /* server IP address */
       struct in_addr bp_giaddr;       /* gateway IP address */
       u_char         bp_chaddr[16];   /* client hardware address */
       u_char         bp_sname[64];    /* server host name */
       u_char         bp_file[128];    /* boot file name */
       u_char         bp_vend[64];     /* vendor-specific area */
     };

/*
 * UDP port numbers, server and client.
 */
#define IPPORT_BOOTPS 67
#define IPPORT_BOOTPC 68

#define BOOTREPLY     2
#define BOOTREQUEST   1


/*
 * Vendor magic cookie (v_magic) for CMU
 */
#define VM_CMU  "CMU"

/*
 * Vendor magic cookie (v_magic) for RFC1048
 */
#define VM_RFC1048 { 99, 130, 83, 99 }

/*
 * RFC1048 tag values used to specify what information is being supplied in
 * the vendor field of the packet.
 */
#define TAG_PAD              ((u_char)0)
#define TAG_SUBNET_MASK      ((u_char)1)
#define TAG_TIME_OFFSET      ((u_char)2)
#define TAG_GATEWAY          ((u_char)3)
#define TAG_TIME_SERVER      ((u_char)4)
#define TAG_NAME_SERVER      ((u_char)5)
#define TAG_DOMAIN_SERVER    ((u_char)6)
#define TAG_LOG_SERVER       ((u_char)7)
#define TAG_COOKIE_SERVER    ((u_char)8)
#define TAG_LPR_SERVER       ((u_char)9)
#define TAG_IMPRESS_SERVER   ((u_char)10)
#define TAG_RLP_SERVER       ((u_char)11)
#define TAG_HOSTNAME         ((u_char)12)
#define TAG_BOOTSIZE         ((u_char)13)
#define TAG_END              ((u_char)255)

/* RFC1497 tags
 */
#define TAG_DUMPPATH         ((u_char)14)
#define TAG_DOMAINNAME       ((u_char)15)
#define TAG_SWAP_SERVER      ((u_char)16)
#define TAG_ROOTPATH         ((u_char)17)
#define TAG_EXTPATH          ((u_char)18)

/* RFC2132
 */
#define TAG_IP_FORWARD       ((u_char)19)
#define TAG_NL_SRCRT         ((u_char)20)
#define TAG_PFILTERS         ((u_char)21)
#define TAG_REASS_SIZE       ((u_char)22)
#define TAG_DEF_TTL          ((u_char)23)
#define TAG_MTU_TIMEOUT      ((u_char)24)
#define TAG_MTU_TABLE        ((u_char)25)
#define TAG_INT_MTU          ((u_char)26)
#define TAG_LOCAL_SUBNETS    ((u_char)27)
#define TAG_BROAD_ADDR       ((u_char)28)
#define TAG_DO_MASK_DISC     ((u_char)29)
#define TAG_SUPPLY_MASK      ((u_char)30)
#define TAG_DO_RDISC         ((u_char)31)
#define TAG_RTR_SOL_ADDR     ((u_char)32)
#define TAG_STATIC_ROUTE     ((u_char)33)
#define TAG_USE_TRAILERS     ((u_char)34)
#define TAG_ARP_TIMEOUT      ((u_char)35)
#define TAG_ETH_ENCAP        ((u_char)36)
#define TAG_TCP_TTL          ((u_char)37)
#define TAG_TCP_KEEPALIVE    ((u_char)38)
#define TAG_KEEPALIVE_GO     ((u_char)39)
#define TAG_NIS_DOMAIN       ((u_char)40)
#define TAG_NIS_SERVERS      ((u_char)41)
#define TAG_NTP_SERVERS      ((u_char)42)
#define TAG_VENDOR_OPTS      ((u_char)43)
#define TAG_NETBIOS_NS       ((u_char)44)
#define TAG_NETBIOS_DDS      ((u_char)45)
#define TAG_NETBIOS_NODE     ((u_char)46)
#define TAG_NETBIOS_SCOPE    ((u_char)47)
#define TAG_XWIN_FS          ((u_char)48)
#define TAG_XWIN_DM          ((u_char)49)
#define TAG_NIS_P_DOMAIN     ((u_char)64)
#define TAG_NIS_P_SERVERS    ((u_char)65)
#define TAG_MOBILE_HOME      ((u_char)68)
#define TAG_SMPT_SERVER      ((u_char)69)
#define TAG_POP3_SERVER      ((u_char)70)
#define TAG_NNTP_SERVER      ((u_char)71)
#define TAG_WWW_SERVER       ((u_char)72)
#define TAG_FINGER_SERVER    ((u_char)73)
#define TAG_IRC_SERVER       ((u_char)74)
#define TAG_STREETTALK_SRVR  ((u_char)75)
#define TAG_STREETTALK_STDA  ((u_char)76)

/* DHCP options
 */
#define TAG_REQUESTED_IP     ((u_char)50)
#define TAG_IP_LEASE         ((u_char)51)
#define TAG_OPT_OVERLOAD     ((u_char)52)
#define TAG_TFTP_SERVER      ((u_char)66)
#define TAG_BOOTFILENAME     ((u_char)67)
#define TAG_DHCP_MESSAGE     ((u_char)53)
#define TAG_SERVER_ID        ((u_char)54)
#define TAG_PARM_REQUEST     ((u_char)55)
#define TAG_MESSAGE          ((u_char)56)
#define TAG_MAX_MSG_SIZE     ((u_char)57)
#define TAG_RENEWAL_TIME     ((u_char)58)
#define TAG_REBIND_TIME      ((u_char)59)
#define TAG_VENDOR_CLASS     ((u_char)60)
#define TAG_CLIENT_ID        ((u_char)61)

/* DHCP Message types (values for TAG_DHCP_MESSAGE option)
 */
#define DHCPDISCOVER  1
#define DHCPOFFER     2
#define DHCPREQUEST   3
#define DHCPDECLINE   4
#define DHCPACK       5
#define DHCPNAK       6
#define DHCPRELEASE   7
#define DHCPINFORM    8


/*
 * "vendor" data permitted for CMU bootp clients.
 */
struct cmu_vend {
       u_char         v_magic[4];      /* magic number */
       u_int32_t      v_flags;         /* flags/opcodes, etc. */
       struct in_addr v_smask;         /* Subnet mask */
       struct in_addr v_dgate;         /* Default gateway */
       struct in_addr v_dns1, v_dns2;  /* Domain name servers */
       struct in_addr v_ins1, v_ins2;  /* IEN-116 name servers */
       struct in_addr v_ts1,  v_ts2;   /* Time servers */
       u_char         v_unused[24];    /* currently unused */
     };

/* v_flags values
 */
#define VF_SMASK  1   /* Subnet mask field contains valid data */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -