亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? hcidump.c

?? bluetooth 開發(fā)程序bluez-hcidump-1.28
?? C
?? 第 1 頁 / 共 2 頁
字號:
			}		}	}	return fd;}static int open_socket(int dev, unsigned long flags){	struct sockaddr_hci addr;	struct hci_filter flt;	struct hci_dev_info di;	int sk, dd, opt;	if (permcheck && dev != HCI_DEV_NONE) {		dd = hci_open_dev(dev);		if (dd < 0) {			perror("Can't open device");			exit(1);		}		if (hci_devinfo(dev, &di) < 0) {			perror("Can't get device info");			exit(1);		}		opt = hci_test_bit(HCI_RAW, &di.flags);		if (ioctl(dd, HCISETRAW, opt) < 0) {			if (errno == EACCES) {				perror("Can't access device");				exit(1);			}		}		hci_close_dev(dd);	}	/* Create HCI socket */	sk = socket(AF_BLUETOOTH, SOCK_RAW, BTPROTO_HCI);	if (sk < 0) {		perror("Can't create raw socket");		exit(1);	}	opt = 1;	if (setsockopt(sk, SOL_HCI, HCI_DATA_DIR, &opt, sizeof(opt)) < 0) {		perror("Can't enable data direction info");		exit(1);	}	opt = 1;	if (setsockopt(sk, SOL_HCI, HCI_TIME_STAMP, &opt, sizeof(opt)) < 0) {		perror("Can't enable time stamp");		exit(1);	}	/* Setup filter */	hci_filter_clear(&flt);	hci_filter_all_ptypes(&flt);	hci_filter_all_events(&flt);	if (setsockopt(sk, SOL_HCI, HCI_FILTER, &flt, sizeof(flt)) < 0) {		perror("Can't set filter");		exit(1);	}	/* Bind socket to the HCI device */	addr.hci_family = AF_BLUETOOTH;	addr.hci_dev = dev;	if (bind(sk, (struct sockaddr *) &addr, sizeof(addr)) < 0) {		printf("Can't attach to device hci%d. %s(%d)\n", 					dev, strerror(errno), errno);		exit(1);	}	return sk;}static int open_connection(in_addr_t addr, in_port_t port){	struct sockaddr_in sa;	int sk, opt;	sk = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);	if (sk < 0) {		perror("Can't create inet socket");		exit(1);	}	opt = 1;	setsockopt(sk, SOL_SOCKET, SO_REUSEADDR, &opt, sizeof(opt));	sa.sin_family = AF_INET;	sa.sin_addr.s_addr = htonl(INADDR_ANY);	sa.sin_port = htons(0);	if (bind(sk, (struct sockaddr *) &sa, sizeof(sa)) < 0) {		perror("Can't bind inet socket");		close(sk);		exit(1);	}	sa.sin_family = AF_INET;	sa.sin_addr.s_addr = htonl(addr);	sa.sin_port = htons(port);	if (connect(sk, (struct sockaddr *) &sa, sizeof(sa)) < 0) {		perror("Can't connect inet socket");		close(sk);		exit(1);	}	return sk;}static int wait_connection(in_addr_t addr, in_port_t port){	struct sockaddr_in sa;	struct hostent *host;	socklen_t len;	int sk, nsk, opt;	sk = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);	if (sk < 0) {		perror("Can't create inet socket");		exit(1);	}	opt = 1;	setsockopt(sk, SOL_SOCKET, SO_REUSEADDR, &opt, sizeof(opt));	sa.sin_family = AF_INET;	sa.sin_addr.s_addr = htonl(addr);	sa.sin_port = htons(port);	if (bind(sk, (struct sockaddr *) &sa, sizeof(sa)) < 0) {		perror("Can't bind inet socket");		close(sk);		exit(1);	}	host = gethostbyaddr(&sa.sin_addr, sizeof(sa.sin_addr), AF_INET);	printf("device: %s:%d snap_len: %d filter: 0x%lx\n", 		host ? host->h_name : inet_ntoa(sa.sin_addr),		ntohs(sa.sin_port), snap_len, filter);	if (listen(sk, 1)) {		perror("Can't listen on inet socket");		close(sk);		exit(1);	}	len = sizeof(sa);	nsk = accept(sk, (struct sockaddr *) &sa, &len);	if (nsk < 0) {		perror("Can't accept new inet socket");		close(sk);		exit(1);	}	host = gethostbyaddr(&sa.sin_addr, sizeof(sa.sin_addr), AF_INET);	printf("device: %s snap_len: %d filter: 0x%lx\n", 		host ? host->h_name : inet_ntoa(sa.sin_addr), snap_len, filter);	close(sk);	return nsk;}static struct {	char *name;	int  flag;} filters[] = {	{ "lmp",	FILT_LMP	},	{ "hci",	FILT_HCI	},	{ "sco",	FILT_SCO	},	{ "l2cap",	FILT_L2CAP	},	{ "rfcomm",	FILT_RFCOMM	},	{ "sdp",	FILT_SDP	},	{ "bnep",	FILT_BNEP	},	{ "cmtp",	FILT_CMTP	},	{ "hidp",	FILT_HIDP	},	{ "hcrp",	FILT_HCRP	},	{ "avdtp",	FILT_AVDTP	},	{ "obex",	FILT_OBEX	},	{ "capi",	FILT_CAPI	},	{ "csr",	FILT_CSR	},	{ "dga",	FILT_DGA	},	{ 0 }};static void parse_filter(int argc, char **argv){	int i,n;	for (i = 0; i < argc; i++) {		for (n = 0; filters[n].name; n++) {			if (!strcasecmp(filters[n].name, argv[i])) {				filter |= filters[n].flag;				break;			}		}	}}static void usage(void){	printf(	"Usage: hcidump [OPTION...] [filter]\n"	"  -i, --device=hci_dev       HCI device\n"	"  -l, --snap-len=len         Snap len (in bytes)\n"	"  -p, --psm=psm              Default PSM\n"	"  -m, --manufacturer=compid  Default manufacturer\n"	"  -w, --save-dump=file       Save dump to a file\n"	"  -r, --read-dump=file       Read dump from a file\n"	"  -s, --send-dump=host       Send dump to a host\n"	"  -n, --recv-dump=host       Receive dump on a host\n"	"  -t, --ts                   Display time stamps\n"	"  -a, --ascii                Dump data in ascii\n"	"  -x, --hex                  Dump data in hex\n"	"  -X, --ext                  Dump data in hex and ascii\n"	"  -R, --raw                  Dump raw data\n"	"  -C, --cmtp=psm             PSM for CMTP\n"	"  -H, --hcrp=psm             PSM for HCRP\n"	"  -O, --obex=channel         Channel for OBEX\n"	"  -A, --audio=file           Extract SCO audio data\n"	"  -B, --btsnoop              Use BTSnoop file format\n"	"  -V, --verbose              Verbose decoding\n"	"  -Y, --novendor             No vendor commands or events\n"	"  -h, --help                 Give this help list\n"	"      --usage                Give a short usage message\n"	);}static struct option main_options[] = {	{ "device",		1, 0, 'i' },	{ "snap-len",		1, 0, 'l' },	{ "psm",		1, 0, 'p' },	{ "manufacturer",	1, 0, 'm' },	{ "save-dump",		1, 0, 'w' },	{ "read-dump",		1, 0, 'r' },	{ "send-dump",		1, 0, 's' },	{ "recv-dump",		1, 0, 'n' },	{ "timestamp",		0, 0, 't' },	{ "ascii",		0, 0, 'a' },	{ "hex",		0, 0, 'x' },	{ "ext",		0, 0, 'X' },	{ "raw",		0, 0, 'R' },	{ "cmtp",		1, 0, 'C' },	{ "hcrp",		1, 0, 'H' },	{ "obex",		1, 0, 'O' },	{ "audio",		1, 0, 'A' },	{ "btsnoop",		0, 0, 'B' },	{ "verbose",		0, 0, 'V' },	{ "novendor",		0, 0, 'Y' },	{ "nopermcheck",	0, 0, 'Z' },	{ "help",		0, 0, 'h' },	{ 0 }};int main(int argc, char *argv[]){	struct hostent *host;	struct in_addr addr;	int opt, fd = -1;	printf("HCI sniffer - Bluetooth packet analyzer ver %s\n", VERSION);	while ((opt=getopt_long(argc, argv, "i:l:p:m:w:r:s:n:taxXRC:H:O:A:BVYZh", main_options, NULL)) != -1) {		switch(opt) {		case 'i':			if (strcasecmp(optarg, "none") && strcasecmp(optarg, "system"))				device = atoi(optarg + 3);			else				device = HCI_DEV_NONE;			break;		case 'l': 			snap_len = atoi(optarg);			break;		case 'p': 			defpsm = atoi(optarg);			break;		case 'm':			defcompid = atoi(optarg);			break;		case 'w':			mode = WRITE;			dump_file = strdup(optarg);			break;		case 'r':			mode = READ;			dump_file = strdup(optarg);			break;		case 's':			mode = SEND;			host = gethostbyname(optarg);			if (host) {				bcopy(host->h_addr, &addr, sizeof(struct in_addr));				dump_addr = ntohl(addr.s_addr);				dump_port = DEFAULT_PORT;			} else {				dump_addr = INADDR_LOOPBACK;				dump_port = DEFAULT_PORT;			}			break;		case 'n':			mode = RECEIVE;			host = gethostbyname(optarg);			if (host) {				bcopy(host->h_addr, &addr, sizeof(struct in_addr));				dump_addr = ntohl(addr.s_addr);				dump_port = DEFAULT_PORT;			} else {				dump_addr = INADDR_LOOPBACK;				dump_port = DEFAULT_PORT;			}			break;		case 't': 			flags |= DUMP_TSTAMP;			break;		case 'a': 			flags |= DUMP_ASCII;			break;		case 'x':			flags |= DUMP_HEX;			break;		case 'X':			flags |= DUMP_EXT;			break;		case 'R': 			flags |= DUMP_RAW;			break;		case 'C': 			set_proto(0, atoi(optarg), 0, SDP_UUID_CMTP);			break;		case 'H':			set_proto(0, atoi(optarg), 0, SDP_UUID_HARDCOPY_CONTROL_CHANNEL);			break;		case 'O':			set_proto(0, 0, atoi(optarg), SDP_UUID_OBEX);			break;		case 'A':			audio_file = strdup(optarg);			break;		case 'B':			flags |= DUMP_BTSNOOP;			break;		case 'V':			flags |= DUMP_VERBOSE;			break;		case 'Y':			flags |= DUMP_NOVENDOR;			break;		case 'Z':			permcheck = 0;			break;		case 'h':		default:			usage();			exit(0);		}	}	argc -= optind;	argv += optind;	optind = 0;	if (argc > 0)		parse_filter(argc, argv);	/* Default settings */	if (!filter)		filter = ~0L;	if (audio_file)		fd = open_file(audio_file, AUDIO, flags);	switch (mode) {	case PARSE:		init_parser(flags, filter, defpsm, defcompid, fd);		process_frames(device, open_socket(device, flags), -1, flags);		break;	case READ:		init_parser(flags, filter, defpsm, defcompid, fd);		read_dump(open_file(dump_file, mode, flags));		break;	case WRITE:		process_frames(device, open_socket(device, flags),				open_file(dump_file, mode, flags), flags);		break;	case RECEIVE:		init_parser(flags, filter, defpsm, defcompid, fd);		read_dump(wait_connection(dump_addr, dump_port));		break;	case SEND:		process_frames(device, open_socket(device, flags),				open_connection(dump_addr, dump_port), flags);		break;	}	return 0;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲自拍都市欧美小说| 一区二区三区日韩精品视频| 国产日韩亚洲欧美综合| 久久久久久久久久看片| wwwwxxxxx欧美| 国产精品久久久久久久蜜臀| 亚洲视频图片小说| 精品在线播放免费| 国产成人av一区| 色综合天天视频在线观看 | 精品日韩欧美在线| 国产校园另类小说区| 有坂深雪av一区二区精品| 亚洲福利一区二区| 国模套图日韩精品一区二区 | 亚洲人成网站色在线观看| 亚洲成人激情社区| 9久草视频在线视频精品| 欧美疯狂性受xxxxx喷水图片| 久久久精品免费网站| 日韩av电影一区| 色综合天天综合网国产成人综合天 | 一区二区三区日韩精品视频| 国产成人精品网址| 欧美成人猛片aaaaaaa| 一区二区三区在线视频观看58| 狠狠色丁香婷综合久久| 欧美一区二区久久| 久久av资源站| 亚洲欧美日韩中文字幕一区二区三区 | 欧美日韩午夜在线视频| 国产午夜精品久久久久久免费视 | 2022国产精品视频| 亚洲成人先锋电影| 欧美午夜宅男影院| 亚洲宅男天堂在线观看无病毒| 92精品国产成人观看免费 | 国产剧情一区在线| 久久综合色天天久久综合图片| 日本一道高清亚洲日美韩| av一区二区久久| 亚洲自拍偷拍麻豆| 在线综合亚洲欧美在线视频| 蜜臀av亚洲一区中文字幕| 久久综合九色综合97婷婷女人| 国产精品一区二区久久不卡| 国产精品热久久久久夜色精品三区| 99国产精品久久| 石原莉奈在线亚洲三区| 精品国产免费视频| eeuss鲁片一区二区三区在线观看| 国产精品黄色在线观看| 欧美日韩国产小视频在线观看| 日本中文字幕一区二区视频 | 欧美日韩黄色影视| 国产综合久久久久久鬼色| 亚洲蜜桃精久久久久久久| 日韩一卡二卡三卡| 成人激情小说网站| 奇米一区二区三区av| 有坂深雪av一区二区精品| 亚洲精品一区二区三区蜜桃下载 | 国产精品美女视频| 欧美成人高清电影在线| 欧美午夜片在线观看| 高清成人在线观看| 久久99热国产| 日本在线不卡一区| 一区二区高清视频在线观看| 国产欧美日韩精品在线| 欧美变态口味重另类| 欧美日产国产精品| 欧美视频一区在线| 91久久一区二区| 91首页免费视频| 成人综合激情网| 99久久久久久| 91偷拍与自偷拍精品| 91在线国产观看| av中文字幕在线不卡| 97成人超碰视| 色综合天天综合| 欧亚一区二区三区| 欧美日韩一卡二卡三卡| 欧美日韩国产高清一区二区三区 | 久久精品国产亚洲a| 激情综合色丁香一区二区| 国产在线精品视频| 波多野洁衣一区| 欧美日韩一区不卡| 91麻豆精品国产91久久久久久久久 | 午夜欧美在线一二页| 美女免费视频一区| 成人国产一区二区三区精品| av在线这里只有精品| 91麻豆精品国产自产在线 | 午夜影院在线观看欧美| 奇米一区二区三区av| 99re热这里只有精品免费视频| 在线免费亚洲电影| 欧美成人福利视频| 亚洲一区在线电影| 国产麻豆精品95视频| 一本高清dvd不卡在线观看| 555夜色666亚洲国产免| 中文字幕在线观看一区| 激情文学综合丁香| 欧美久久久久久蜜桃| 国产精品高潮久久久久无| 美女视频黄免费的久久 | 国产精品自产自拍| 欧美日韩免费电影| 国产三区在线成人av| 免费观看成人av| 欧美日韩免费电影| 成人欧美一区二区三区白人| 狠狠狠色丁香婷婷综合激情| 欧美日韩电影在线| 亚洲一区二区中文在线| 99re在线精品| 亚洲欧美日韩国产综合| 99久久99久久精品国产片果冻| 久久精品一区二区三区不卡牛牛| 日本在线播放一区二区三区| 欧美日本韩国一区| 日韩精品91亚洲二区在线观看| 欧美吻胸吃奶大尺度电影| 一区二区久久久久| 欧美一区二区视频免费观看| 丝袜诱惑制服诱惑色一区在线观看| 色哟哟一区二区| 五月婷婷综合在线| 91精品在线免费观看| 久久成人久久鬼色| 日本一区二区三区dvd视频在线| 国产aⅴ综合色| 亚洲精品国产a久久久久久 | 日精品一区二区三区| 欧美二区乱c少妇| 国产一区二区三区四区在线观看| 久久蜜桃一区二区| 91久久线看在观草草青青| 天天操天天色综合| 久久久久久99久久久精品网站| av激情综合网| 美国毛片一区二区三区| 国产精品国产三级国产aⅴ无密码| 成人教育av在线| 麻豆成人免费电影| 亚洲精品成人在线| 国产女主播一区| 欧美色涩在线第一页| 国产69精品久久久久777| 亚洲一卡二卡三卡四卡无卡久久 | 韩日av一区二区| 亚洲伊人伊色伊影伊综合网| 国产日韩欧美综合一区| 4438亚洲最大| 欧美自拍丝袜亚洲| 99久久综合狠狠综合久久| 久久99久久久欧美国产| 亚洲成人第一页| 亚洲精品乱码久久久久久黑人| 中日韩av电影| 久久久久久一级片| 国产性天天综合网| 欧美一区二区黄| 欧美一区二区久久久| 这里只有精品视频在线观看| 精品视频999| 在线综合+亚洲+欧美中文字幕| 欧美高清视频不卡网| 日韩精品一区二区三区三区免费 | 成人黄色电影在线| 粉嫩高潮美女一区二区三区| 风间由美一区二区av101| 国产91丝袜在线播放| 成人精品视频一区| 色综合久久中文综合久久97| 日本韩国欧美一区二区三区| 欧美在线三级电影| 欧美精品乱码久久久久久按摩 | 国产一区三区三区| 成人精品国产免费网站| 一本色道久久综合亚洲aⅴ蜜桃| 欧美性猛交xxxx乱大交退制版 | av一区二区三区黑人| 欧美人妇做爰xxxⅹ性高电影| 精品国产乱码91久久久久久网站| 国产午夜亚洲精品午夜鲁丝片| 亚洲日本在线视频观看| 日日欢夜夜爽一区| 国产91精品免费| 欧美精品粉嫩高潮一区二区| 久久这里都是精品| 亚洲成在人线免费| 91性感美女视频| 26uuu久久天堂性欧美| 欧美日韩国产高清一区二区三区| 久久福利视频一区二区|