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

📄 trace.lh

📁 unix下基于IP协议的TRACE ROUTE 代码程序;C/C++语言
💻 LH
字号:
#include    "unp.h"##  1 ##src/traceroute/trace.h###include    <netinet/in_systm.h>##  2 ##src/traceroute/trace.h###include    <netinet/ip.h>##  3 ##src/traceroute/trace.h###include    <netinet/ip_icmp.h>##  4 ##src/traceroute/trace.h###include    <netinet/udp.h>##  5 ##src/traceroute/trace.h###define BUFSIZE     1500##  6 ##src/traceroute/trace.h##struct rec {                    /* of outgoing UDP data */##  7 ##src/traceroute/trace.h##    u_short rec_seq;            /* sequence number */##  8 ##src/traceroute/trace.h##    u_short rec_ttl;            /* TTL packet left with */##  9 ##src/traceroute/trace.h##    struct timeval rec_tv;      /* time packet left */## 10 ##src/traceroute/trace.h##};## 11 ##src/traceroute/trace.h##            /* globals */## 12 ##src/traceroute/trace.h##char    recvbuf[BUFSIZE];## 13 ##src/traceroute/trace.h##char    sendbuf[BUFSIZE];## 14 ##src/traceroute/trace.h##int     datalen;                /* #bytes of data, following ICMP header */## 15 ##src/traceroute/trace.h##char   *host;## 16 ##src/traceroute/trace.h##u_short sport, dport;## 17 ##src/traceroute/trace.h##int     nsent;                  /* add 1 for each sendto() */## 18 ##src/traceroute/trace.h##pid_t   pid;                    /* our PID */## 19 ##src/traceroute/trace.h##int     probe, nprobes;## 20 ##src/traceroute/trace.h##int     sendfd, recvfd;         /* send on UDP sock, read on raw ICMP sock */## 21 ##src/traceroute/trace.h##int     ttl, max_ttl;## 22 ##src/traceroute/trace.h##int     verbose;## 23 ##src/traceroute/trace.h##            /* function prototypes */## 24 ##src/traceroute/trace.h##char   *icmpcode_v4(int);## 25 ##src/traceroute/trace.h##char   *icmpcode_v6(int);## 26 ##src/traceroute/trace.h##int     recv_v4(int, struct timeval *);## 27 ##src/traceroute/trace.h##int     recv_v6(int, struct timeval *);## 28 ##src/traceroute/trace.h##void    sig_alrm(int);## 29 ##src/traceroute/trace.h##void    traceloop(void);## 30 ##src/traceroute/trace.h##void    tv_sub(struct timeval *, struct timeval *);## 31 ##src/traceroute/trace.h##struct proto {## 32 ##src/traceroute/trace.h##    char   *(*icmpcode) (int);## 33 ##src/traceroute/trace.h##    int     (*recv) (int, struct timeval *);## 34 ##src/traceroute/trace.h##    struct sockaddr *sasend;    /* sockaddr{} for send, from getaddrinfo */## 35 ##src/traceroute/trace.h##    struct sockaddr *sarecv;    /* sockaddr{} for receiving */## 36 ##src/traceroute/trace.h##    struct sockaddr *salast;    /* last sockaddr{} for receiving */## 37 ##src/traceroute/trace.h##    struct sockaddr *sabind;    /* sockaddr{} for binding source port */## 38 ##src/traceroute/trace.h##    socklen_t salen;            /* length of sockaddr{}s */## 39 ##src/traceroute/trace.h##    int     icmpproto;          /* IPPROTO_xxx value for ICMP */## 40 ##src/traceroute/trace.h##    int     ttllevel;           /* setsockopt() level to set TTL */## 41 ##src/traceroute/trace.h##    int     ttloptname;         /* setsockopt() name to set TTL */## 42 ##src/traceroute/trace.h##}      *pr;## 43 ##src/traceroute/trace.h###ifdef  IPV6## 44 ##src/traceroute/trace.h###include    "ip6.h"             /* should be <netinet/ip6.h> */## 45 ##src/traceroute/trace.h###include    "icmp6.h"           /* should be <netinet/icmp6.h> */## 46 ##src/traceroute/trace.h###endif## 47 ##src/traceroute/trace.h##

⌨️ 快捷键说明

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