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

📄 parse_keyword.cc

📁 xprobe package sources code
💻 CC
字号:
#include <xprobe.h>#include "util.h"#include "icmp_port_unreach.h"#include "parse_keyword.h"#include "interface.h"extern Interface *ui;int icmp_port_unreach::parse_keyword(int os_id, const char *keyword, const char *value){		Fingerprint newfingerprint;	int iii=0;    xprobe_debug(XPROBE_DEBUG_MODULES, "[%s] Parsing for %i : %s  = %s\n",                                                       get_name(), os_id,  keyword, value);	for (iii=0; keyarr[iii] != NULL; iii++) {		if ((strncmp (keyarr[iii], keyword, strlen (keyarr[iii]))) == 0) {			if ( (iter = os2finger.find (os_id)) == os2finger.end() ) {				os2finger.insert (pair<int, Fingerprint>(os_id, newfingerprint));				/* so that we could start adding things righ away */				iter = os2finger.find (os_id);			}			switch(iii) {				case ICMP_UNREACH_TTL:            		if ( value[0] == '<' || value[0] == '>' )                		value += 1;					iter->second.put_p_unreach_ttl(value);					break;				case ICMP_UNREACH_ECHOED_SIZE:					iter->second.put_echoed_size(value);					break;				case ICMP_UNREACH_ECHOED_UPSUM:					iter->second.put_echoed_udpsum(value);					break;				case ICMP_UNREACH_ECHOED_IPSUM:					iter->second.put_echoed_ipsum(value);					break;				case ICMP_UNREACH_ECHOED_IPID:					iter->second.put_echoed_ipid(value);					break;				case ICMP_UNREACH_ECHOED_TOTLEN:					iter->second.put_echoed_totlen(value);					break;				case ICMP_UNREACH_ECHOED_3BIT:					iter->second.put_echoed_3bit(value);					break;				case ICMP_UNREACH_PRECEDENCE:					iter->second.put_icmp_prec_bits(value);					break;				case ICMP_UNREACH_DF: 					iter->second.put_icmp_df(value);					break;				case ICMP_UNREACH_IPID:					iter->second.put_icmp_ipid(value);					break;			}		}	}return OK;}

⌨️ 快捷键说明

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