nmap.h

来自「Ubuntu packages of security software。 相」· C头文件 代码 · 共 447 行 · 第 1/2 页

H
447
字号
#if HAVE_ARPA_INET_H#include <arpa/inet.h>#endif#include <math.h>#include <assert.h>#if HAVE_SYS_RESOURCE_H#include <sys/resource.h>#endif/*#include <net/if_arp.h> *//* defines struct arphdr needed for if_ether.h */// #if HAVE_NET_IF_H// #ifndef NET_IF_H  /* why doesn't OpenBSD do this?! */// #include <net/if.h>// #define NET_IF_H// #endif// #endif// #if HAVE_NETINET_IF_ETHER_H // #ifndef NETINET_IF_ETHER_H// #include <netinet/if_ether.h>// #define NETINET_IF_ETHER_H// #endif /* NETINET_IF_ETHER_H */// #endif /* HAVE_NETINET_IF_ETHER_H *//*******  DEFINES  ************/#ifndef NMAP_VERSION/* Edit this definition only within the quotes, because it is read from this   file by the makefiles. */#define NMAP_VERSION "4.53"#define NMAP_NUM_VERSION "4.53.0.0"#endif/* User configurable #defines: */#define MAX_PROBE_PORTS 10     /* How many TCP probe ports are allowed ? *//* Default number of ports in parallel.  Doesn't always involve actual    sockets.  Can also adjust with the -M command line option.  */#define MAX_SOCKETS 36 #define FAKE_ARGV "pine" /* What ps and w should show if you use -q *//* How do we want to log into ftp sites for */ #define FTPUSER "anonymous"#define FTPPASS "-wwwuser@"#define FTP_RETRIES 2 /* How many times should we relogin if we lose control                         connection? */#define MAX_TIMEOUTS MAX_SOCKETS   /* How many timed out connection attempts 				      in a row before we decide the host is 				      dead? */#define DEFAULT_TCP_PROBE_PORT_SPEC "80" /* The ports TCP probes go to if                                            unspecified by user -- uber hackers                                            change this to 113 */#define DEFAULT_UDP_PROBE_PORT_SPEC "31338" /* The port UDP probes (esp. "ping"                                               probes) go to if unspecified by                                               user */#define DEFAULT_PROTO_PROBE_PORT_SPEC "1,2,4" /* The IPProto ping probes to use                                                 if unspecified by user */#define MAX_DECOYS 128 /* How many decoys are allowed? */#define MAXFALLBACKS 20 /* How many comma separated fallbacks are allowed in the service-probes file? *//* Default maximum send delay between probes to the same host */#ifndef MAX_TCP_SCAN_DELAY#define MAX_TCP_SCAN_DELAY 1000#endif#ifndef MAX_UDP_SCAN_DELAY#define MAX_UDP_SCAN_DELAY 1000#endif/* Maximum number of extra hostnames, OSs, and devices, we   consider when outputing the extra service info fields */#define MAX_SERVICE_INFO_FIELDS 5/* We wait at least 100 ms for a response by default - while that   seems aggressive, waiting too long can cause us to fail to detect   drops until many probes later on extremely low-latency   networks (such as localhost scans).  */#ifndef MIN_RTT_TIMEOUT#define MIN_RTT_TIMEOUT 100 #endif#ifndef MAX_RTT_TIMEOUT#define MAX_RTT_TIMEOUT 10000 /* Never allow more than 10 secs for packet round				 trip */#endif#define INITIAL_RTT_TIMEOUT 1000 /* Allow 1 second initially for packet responses */#ifndef MAX_RETRANSMISSIONS#define MAX_RETRANSMISSIONS 10    /* 11 probes to port at maximum */#endif/* Number of hosts we pre-ping and then scan.  We do a lot more if   randomize_hosts is set.  Every one you add to this leads to ~1K of   extra always-resident memory in nmap */#define PING_GROUP_SZ 4096/* DO NOT change stuff after this point */#define UC(b)   (((int)b)&0xff)#define SA    struct sockaddr  /*Ubertechnique from R. Stevens */#define HOST_UNKNOWN 0#define HOST_UP 1#define HOST_DOWN 2 #define HOST_FIREWALLED 4 #define HOST_BROADCAST 8 /* use the wierd_responses member of hoststruct instead */#define PINGTYPE_UNKNOWN 0#define PINGTYPE_NONE 1#define PINGTYPE_ICMP_PING 2#define PINGTYPE_ICMP_MASK 4#define PINGTYPE_ICMP_TS 8#define PINGTYPE_TCP  16#define PINGTYPE_TCP_USE_ACK 32#define PINGTYPE_TCP_USE_SYN 64/* # define PINGTYPE_RAWTCP 128 used to be here, but was never used. */#define PINGTYPE_CONNECTTCP 256#define PINGTYPE_UDP  512#define PINGTYPE_ARP 1024#define PINGTYPE_PROTO 2048#define DEFAULT_PING_TYPES PINGTYPE_TCP|PINGTYPE_TCP_USE_ACK|PINGTYPE_ICMP_PING/* OS scan */#define OS_SCAN_DEFAULT 9/* How many syn packets do we send to TCP sequence a host? */#define NUM_SEQ_SAMPLES 6/* The max length of each line of the subject fingerprint when   wrapped. */#define FP_RESULT_WRAP_LINE_LEN 74/* TCP/IP ISN sequence prediction classes */#define SEQ_UNKNOWN 0#define SEQ_64K 1#define SEQ_TD 2#define SEQ_RI 4#define SEQ_TR 8#define SEQ_i800 16#define SEQ_CONSTANT 32/* TCP Timestamp Sequence */#define TS_SEQ_UNKNOWN 0#define TS_SEQ_ZERO 1 /* At least one of the timestamps we received back was 0 */#define TS_SEQ_2HZ 2#define TS_SEQ_100HZ 3#define TS_SEQ_1000HZ 4#define TS_SEQ_OTHER_NUM 5#define TS_SEQ_UNSUPPORTED 6 /* System didn't send back a timestamp */#define IPID_SEQ_UNKNOWN 0#define IPID_SEQ_INCR 1  /* simple increment by one each time */#define IPID_SEQ_BROKEN_INCR 2 /* Stupid MS -- forgot htons() so it                                   counts by 256 on little-endian platforms */#define IPID_SEQ_RPI 3 /* Goes up each time but by a "random" positive                           increment */#define IPID_SEQ_RD 4 /* Appears to select IPID using a "random" distributions (meaning it can go up or down) */#define IPID_SEQ_CONSTANT 5 /* Contains 1 or more sequential duplicates */#define IPID_SEQ_ZERO 6 /* Every packet that comes back has an IP.ID of 0 (eg Linux 2.4 does this) */#ifndef MAXHOSTNAMELEN#define MAXHOSTNAMELEN 64#endif#ifndef recvfrom6_t#  define recvfrom6_t int#endif/********************** LOCAL INCLUDES *****************************/#include "global_structures.h"/***********************STRUCTURES**********************************//* Moved to global_structures.h *//***********************PROTOTYPES**********************************//* print Interactive usage information */void printinteractiveusage();int ftp_anon_connect(struct ftpinfo *ftp);/* port manipulators */struct scan_lists *getpts(char *expr); /* someone stole the name getports()! */void getpts_simple(char *origexpr, int range_type,                   unsigned short **list, int *count);void free_scan_lists(struct scan_lists *ports);/* socket manipulation functions */void init_socket(int sd);/* Renamed main so that interactive mode could preprocess when neccessary */int nmap_main(int argc, char *argv[]);void nmap_free_mem();/* general helper functions */int parse_targets(struct targets *targets, char *h);char *statenum2str(int state);char *scantype2str(stype scantype);void sigdie(int signo);void reaper(int signo);char *seqreport(struct seq_info *seq);char *seqreport1(struct seq_info *seq);char *seqclass2ascii(int clas);char *ipidclass2ascii(int seqclass);char *tsseqclass2ascii(int seqclass);/* Convert a TCP sequence prediction difficulty index like 1264386   into a difficulty string like "Worthy Challenge */const char *seqidx2difficultystr(unsigned long idx);const char *seqidx2difficultystr1(unsigned long idx);int nmap_fetchfile(char *filename_returned, int bufferlen, char *file);int nmap_fileexistsandisreadable(char* pathname);int gather_logfile_resumption_state(char *fname, int *myargc, char ***myargv);#endif /* NMAP_H */

⌨️ 快捷键说明

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