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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? tcpdump.c

?? 網卡驅動相關實例 這是和網卡NT KMD驅動程序有關的一些資料和例子。主要是以下三方面內容: 3.1 article 一些有用的文檔 3.2 Canberra 網絡診聽工具Ethern
?? C
字號:
/*
 * Copyright (c) 1999, 2000
 *	Politecnico di Torino.  All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that: (1) source code distributions
 * retain the above copyright notice and this paragraph in its entirety, (2)
 * distributions including binary code include the above copyright notice and
 * this paragraph in its entirety in the documentation or other materials
 * provided with the distribution, and (3) all advertising materials mentioning
 * features or use of this software display the following acknowledgement:
 * ``This product includes software developed by the Politecnico
 * di Torino, and its contributors.'' Neither the name of
 * the University nor the names of its contributors may be used to endorse
 * or promote products derived from this software without specific prior
 * written permission.
 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
 * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
 *
 *
 * Portions Copyright (c) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997 * The Regents of the University of California.  All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that: (1) source code distributions * retain the above copyright notice and this paragraph in its entirety, (2) * distributions including binary code include the above copyright notice and * this paragraph in its entirety in the documentation or other materials * provided with the distribution, and (3) all advertising materials mentioning * features or use of this software display the following acknowledgement: * ``This product includes software developed by the University of California, * Lawrence Berkeley Laboratory and its contributors.'' Neither the name of * the University nor the names of its contributors may be used to endorse * or promote products derived from this software without specific prior * written permission. * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.*/#ifndef lintstatic const char copyright[] =    "@(#) Copyright (c) 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997\n\The Regents of the University of California.  All rights reserved.\n";static const char rcsid[] =    "@(#) $Header: tcpdump.c,v 1.129 97/06/13 13:10:11 leres Exp $ (LBL)";#endif/* * tcpdump - monitor tcp/ip traffic on an ethernet. * * First written in 1987 by Van Jacobson, Lawrence Berkeley Laboratory. * Mercilessly hacked and occasionally improved since then via the * combined efforts of Van, Steve McCanne and Craig Leres of LBL. */#include <sys/types.h>#ifndef WIN32
#include <sys/time.h>#include <netinet/in.h>
#else
#include "Win32-Src/getopt.h"
#include "Win32-Include/w32_fzs.h"
extern int strcasecmp (const char *__s1, const char *__s2);
extern int SIZE_BUF;
#endif
#include <pcap.h>#include <signal.h>#include <stdio.h>
#include <stdlib.h>#include <string.h>#include <unistd.h>#include <toc.h>
#include "interface.h"#include "addrtoname.h"#include "machdep.h"#include "setsignal.h"#include "gmt2local.h"int aflag;			/* translate network and broadcast addresses */int dflag;			/* print filter code */int eflag;			/* print ethernet header */int fflag;			/* don't translate "foreign" IP address */int nflag;			/* leave addresses as numbers */int Nflag;			/* remove domains from printed host names */int Oflag = 1;			/* run filter code optimizer */int pflag;			/* don't go promiscuous */int qflag;			/* quick (shorter) output */int Sflag;			/* print raw TCP sequence numbers */int tflag = 1;			/* print packet arrival time */int vflag;			/* verbose */int xflag;			/* print packet in hex */int packettype;char *program_name;int32_t thiszone;		/* seconds offset from gmt to local time *//* Externs */extern void bpf_dump(struct bpf_program *, int);/* Forwards */RETSIGTYPE cleanup(int);extern __dead void usage(void) __attribute__((volatile));/* Length of saved portion of packet. */int snaplen = DEFAULT_SNAPLEN;struct printer {	pcap_handler f;	int type;};static struct printer printers[] = {	{ ether_if_print,	DLT_EN10MB },/*
#ifdef WIN32
	{ ether_if_print,	DLT_EN100MB },
	{ ether_if_print,	DLT_PPP_WIN32 },
#endif
*/
    { ether_if_print,	DLT_IEEE802 },	{ sl_if_print,		DLT_SLIP },	{ sl_bsdos_if_print,	DLT_SLIP_BSDOS },	{ ppp_if_print,		DLT_PPP },	{ ppp_bsdos_if_print,	DLT_PPP_BSDOS },	{ fddi_if_print,	DLT_FDDI },	{ null_if_print,	DLT_NULL },	{ raw_if_print,		DLT_RAW },	{ atm_if_print,		DLT_ATM_RFC1483 },	{ NULL,			0 },};pcap_handlerlookup_printer(int type){	struct printer *p;	for (p = printers; p->f; ++p)		if (type == p->type)			return p->f;	error("unknown data link type 0x%x", type);	/* NOTREACHED */}static pcap_t *pd;extern int optind;extern int opterr;extern char *optarg;
intmain(int argc, char **argv){	register int cnt, op, i;	bpf_u_int32 localnet, netmask;	register char *cp, *infile, *cmdbuf, *device, *RFileName, *WFileName;	pcap_handler printer;	struct bpf_program fcode;	RETSIGTYPE (*oldhandler)(int);	u_char *pcap_userdata;	char ebuf[PCAP_ERRBUF_SIZE];
	int toc;

#ifdef WIN32
	char *devicet;
	int ii;
	DWORD dwVersion;
	DWORD dwWindowsMajorVersion;

	dwVersion=GetVersion();		/* get the OS version */
	dwWindowsMajorVersion =  (DWORD)(LOBYTE(LOWORD(dwVersion)));
	if(wsockinit()) return 1;
#endif

	ebuf[0]='\0';	cnt = -1;	device = NULL;	infile = NULL;	toc = 0;
	RFileName = NULL;	WFileName = NULL;	if ((cp = strrchr(argv[0], '/')) != NULL)		program_name = cp + 1;	else		program_name = argv[0];	if (abort_on_misalignment(ebuf) < 0)		error("%s", ebuf);	opterr = 0;	while (
#ifdef WIN32	    (op = getopt(argc, argv, "ab:B:c:C:dDeE:fF:i:I:lnNOpPqr:s:StT:vw:xY")) != EOF)
#else	    (op = getopt(argc, argv, "ac:defF:i:I:lnNOpqr:s:StT:vw:xY")) != EOF)
#endif
		switch (op) {		case 'a':			++aflag;			break;#ifdef WIN32
		case 'B':
			SIZE_BUF = atoi(optarg)*1024;  /* set the buffer size in kilobytes */
			if (SIZE_BUF < 0)
				error("invalid packet buffer size %s", optarg);
			break;
#endif

		case 'c':			cnt = atoi(optarg);			if (cnt <= 0)				error("invalid packet count %s", optarg);			break;
		case 'd':			++dflag;			break;
#ifdef WIN32
		case 'D':
			device = pcap_lookupdev(ebuf);
			if (device == NULL)
				error("%s", ebuf);
			PrintDeviceList(device);
			return 0;
#endif
		case 'e':			++eflag;			break;		case 'f':			++fflag;			break;		case 'F':			infile = optarg;			break;					case 'i':
#ifdef WIN32
			if(optarg[0]=='0' && optarg[1]==0){
				error("Invalid adapter's index");
			}
			
			devicet=NULL;

			if((i=atoi(optarg))!=0){
				if(i<0){
					error("Invalid adapter's index");
				}

				devicet = pcap_lookupdev(ebuf);
				if (devicet == NULL)
					error("%s", ebuf);
				
				device=GetAdapterFromList(devicet,i);
				if (device == NULL){
					error("Invalid adapter's index");
				}
				break;
			}
#endif				device = optarg;			break;
		case 'I':
			toc = 1;
			pcap_toc_open(optarg);
			break;
		case 'l':#ifdef HAVE_SETLINEBUF			setlinebuf(stdout);#else			setvbuf(stdout, NULL, _IOLBF, 0);#endif			break;		case 'n':			++nflag;			break;		case 'N':			++Nflag;			break;		case 'O':			Oflag = 0;			break;		case 'p':			++pflag;			break;
		case 'q':			++qflag;			break;		case 'r':			RFileName = optarg;			break;		case 's':			snaplen = atoi(optarg);			if (snaplen <= 0)				error("invalid snaplen %s", optarg);			break;		case 'S':			++Sflag;			break;		case 't':			--tflag;			break;		case 'T':			if (strcasecmp(optarg, "vat") == 0)				packettype = PT_VAT;			else if (strcasecmp(optarg, "wb") == 0)				packettype = PT_WB;			else if (strcasecmp(optarg, "rpc") == 0)				packettype = PT_RPC;			else if (strcasecmp(optarg, "rtp") == 0)				packettype = PT_RTP;			else if (strcasecmp(optarg, "rtcp") == 0)				packettype = PT_RTCP;			else				error("unknown packet type `%s'", optarg);			break;		case 'v':			++vflag;			break;		case 'w':			WFileName = optarg;			break;#ifdef YYDEBUG		case 'Y':			{			/* Undocumented flag */			extern int yydebug;			yydebug = 1;			}			break;#endif		case 'x':			++xflag;			break;		default:			usage();			/* NOTREACHED */		}	if (aflag && nflag)		error("-a and -n options are incompatible");	if (tflag > 0)		thiszone = gmt2local(0);	if (RFileName != NULL) {		/*		 * We don't need network access, so set it back to the user id.		 * Also, this prevents the user from reading anyone's		 * trace file.		 */
#ifndef WIN32
		setuid(getuid());#endif		 pd = pcap_open_offline(RFileName, ebuf);		 if (pd == NULL)			error("%s", ebuf);		 localnet = 0;		 netmask = 0;		 if (fflag != 0)			error("-f and -r options are incompatible");
	} else {		if (device == NULL) {			device = pcap_lookupdev(ebuf);			if (device == NULL)				error("%s", ebuf);		}
		else
		{
#ifdef WIN32
			if (!(dwVersion >= 0x80000000 && dwWindowsMajorVersion >= 4))			/* Windows '95 */
			{
				if(device[1]!=0)
					device=(char*)SChar2WChar(device);
			}
			else{
				for (ii=0;ii<(signed)strlen(device);ii++)
				for (ii=strlen(device)-1;ii>0&&(device[ii]==' '||device[ii]=='\t');ii--)device[ii]='\0';
				for (ii=0;ii<(signed)strlen(device)&&(device[ii]==' '||device[ii]=='\t');ii++);
				strcpy(device,device+ii);
			}
#endif
		}#ifdef WIN32

		PrintCapBegins (program_name,device);
#endif
		pd = pcap_open_live(device, snaplen, !pflag, 1000, ebuf);		if (pd == NULL)			error("%s", ebuf);		i = pcap_snapshot(pd);		if (snaplen < i) {			warning("snaplen raised from %d to %d", snaplen, i);			snaplen = i;		}
		if (pcap_lookupnet(device, &localnet, &netmask, ebuf) < 0) {			localnet = 0;			netmask = 0;			warning("%s", ebuf);		}		/*		 * Let user own process after socket has been opened.		 */#ifndef WIN32
		setuid(getuid());
#endif	}	if (infile)		cmdbuf = read_infile(infile);	else		cmdbuf = copy_argv(&argv[optind]);
	if (pcap_compile(pd, &fcode, cmdbuf, Oflag, netmask) < 0)		error("%s", pcap_geterr(pd));	if (dflag) {		bpf_dump(&fcode, dflag);		exit(0);	}	init_addrtoname(localnet, netmask);	(void)setsignal(SIGTERM, cleanup);	(void)setsignal(SIGINT, cleanup);#ifndef WIN32	
	(void)setsignal(SIGSEGV, cleanup);
#endif
	/* Cooperate with nohup(1) */#ifndef WIN32	
	if ((oldhandler = setsignal(SIGHUP, cleanup)) != SIG_DFL)		(void)setsignal(SIGHUP, oldhandler);
#endif	if (pcap_setfilter(pd, &fcode) < 0)		error("%s", pcap_geterr(pd));	if (WFileName) {		pcap_dumper_t *p = pcap_dump_open(pd, WFileName);		if (p == NULL)			error("%s", pcap_geterr(pd));		printer = pcap_dump;		pcap_userdata = (u_char *)p;	} else {		printer = lookup_printer(pcap_datalink(pd));		pcap_userdata = 0;	}	if (RFileName == NULL) {#ifndef WIN32
		(void)fprintf(stderr, "%s: listening on %s\n",		    program_name, device);
		(void)fflush(stderr);
#endif	}	if (pcap_loop(pd, cnt, printer, pcap_userdata) < 0) {		(void)fprintf(stderr, "%s: pcap_loop: %s\n",		    program_name, pcap_geterr(pd));		exit(1);	}	if (toc) pcap_toc_close();
	pcap_close(pd);	exit(0);#ifdef WIN32
	oldhandler = NULL;
	return 0;
#endif
}
/* make a clean exit on interrupts */RETSIGTYPEcleanup(int signo){	struct pcap_stat stat;
#ifdef WIN32
	DWORD dwVersion;
	DWORD dwWindowsMajorVersion;
	dwVersion=GetVersion();		/* get the OS version */
	dwWindowsMajorVersion =  (DWORD)(LOBYTE(LOWORD(dwVersion)));
#endif

	/* Can't print the summary if reading from a savefile */	if (pd != NULL && pcap_file(pd) == NULL) {		(void)fflush(stdout);		putc('\n', stderr);		if (pcap_stats(pd, &stat) < 0)			(void)fprintf(stderr, "pcap_stats: %s\n",
			    pcap_geterr(pd));		else {			(void)fprintf(stderr, "%d packets received by filter\n",			    stat.ps_recv);			(void)fprintf(stderr, "%d packets dropped by kernel\n",			    stat.ps_drop);		} 	}
#ifdef WIN32
pcap_close(pd);
#endif

exit(0);}/* Like default_print() but data need not be aligned */voiddefault_print_unaligned(register const u_char *cp, register u_int length){	register u_int i, s;	register int nshorts;	nshorts = (u_int) length / sizeof(u_short);	i = 0;	while (--nshorts >= 0) {		if ((i++ % 8) == 0)			(void)printf("\n\t\t\t");		s = *cp++;		(void)printf(" %02x%02x", s, *cp++);	}	if (length & 1) {		if ((i % 8) == 0)			(void)printf("\n\t\t\t");		(void)printf(" %02x", *cp);	}}/* * By default, print the packet out in hex. * * (BTW, please don't send us patches to print the packet out in ascii) */voiddefault_print(register const u_char *bp, register u_int length){	register const u_short *sp;	register u_int i;	register int nshorts;	if ((long)bp & 1) {		default_print_unaligned(bp, length);		return;	}	sp = (u_short *)bp;	nshorts = (u_int) length / sizeof(u_short);	i = 0;	while (--nshorts >= 0) {		if ((i++ % 8) == 0)			(void)printf("\n\t\t\t");		(void)printf(" %04x", ntohs(*sp++));	}	if (length & 1) {		if ((i % 8) == 0)			(void)printf("\n\t\t\t");		(void)printf(" %02x", *(u_char *)sp);	}}
#ifdef WIN32
	char WDversion[]="2.02";
	char version[]="3.4a6";
	char pcap_version[]="0.4a6";
	char Wpcap_version[]="2.02";
#endif

__dead void
usage(void)
{
#ifndef WIN32
	extern char version[];
	extern char pcap_version[];
#endif

#ifdef WIN32
	(void)fprintf(stderr, "%s version %s, based on TCPdump version %s\n", program_name, WDversion, version);
	(void)fprintf(stderr, "libpcap for Windows version %s, based on libpcap version %s\n",Wpcap_version, pcap_version);
#else	
	(void)fprintf(stderr, "%s version %s\n", program_name, version);
	(void)fprintf(stderr, "libpcap version %s\n", pcap_version);
#endif
	(void)fprintf(stderr,
#ifdef WIN32
"Usage:  %s [-adDeflnNOpPqStvx] [-B size] [-c count] [-E driver_requests]\n\t\t[ -F file ]\n", program_name);
#else
"Usage: %s [-adeflnNOpqStvx] [-c count] [ -F file ]\n", program_name);
#endif
	(void)fprintf(stderr,
"\t\t[ -i interface ] [ -r file ] [ -s snaplen ]\n");
	(void)fprintf(stderr,
"\t\t[ -T type ] [ -w file ] [ expression ]\n");
	exit(-1);
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人国产在线观看| 欧美久久久久中文字幕| 日韩视频免费直播| 午夜精彩视频在线观看不卡| 日本韩国一区二区| 亚洲尤物视频在线| 欧美一三区三区四区免费在线看 | av中文字幕在线不卡| 国产精品家庭影院| 色婷婷综合久久久久中文| 亚洲亚洲精品在线观看| 欧美麻豆精品久久久久久| 蜜臀av一区二区在线观看 | 奇米精品一区二区三区四区| 欧美日免费三级在线| 中文字幕一区二区日韩精品绯色| www.久久精品| 五月天欧美精品| 精品国产一区二区亚洲人成毛片| 国产91丝袜在线播放| 亚洲美女免费视频| 日韩一二三区不卡| 成人h精品动漫一区二区三区| 亚洲最大色网站| 日韩精品一区二区三区在线播放 | 亚洲精品视频一区二区| 欧美精品色综合| 精品亚洲国产成人av制服丝袜| 国产午夜精品久久久久久久| 91成人免费网站| 久久99精品视频| 色哟哟精品一区| 亚洲永久免费视频| 日韩美女天天操| 波多野结衣中文一区| 婷婷丁香激情综合| 日本一区二区三区电影| 欧美久久一二区| 成人h动漫精品一区二区| 爽爽淫人综合网网站| 国产精品欧美久久久久一区二区| 欧美少妇性性性| 成人高清免费在线播放| 日本少妇一区二区| 亚洲美女偷拍久久| 国产婷婷一区二区| 日韩视频免费观看高清在线视频| 91网址在线看| 国产91精品露脸国语对白| 丝袜美腿亚洲综合| 亚洲女人的天堂| 久久久国产精华| 日韩精品一区二区三区在线 | 国产在线日韩欧美| 亚洲国产sm捆绑调教视频 | 亚洲aⅴ怡春院| 亚洲国产高清在线| 欧美videofree性高清杂交| 欧美日韩综合一区| 91女厕偷拍女厕偷拍高清| 国产精品亚洲第一区在线暖暖韩国 | 色婷婷亚洲综合| 高清不卡一区二区在线| 美国毛片一区二区三区| 亚洲成av人影院在线观看网| 亚洲人成在线观看一区二区| 国产精品视频免费看| 久久免费电影网| 日韩精品专区在线影院观看| 在线不卡免费欧美| 欧美日韩久久久| 欧美三级中文字幕在线观看| 一本久久精品一区二区| 99久久婷婷国产综合精品| 337p日本欧洲亚洲大胆精品| 午夜免费久久看| 亚洲丝袜自拍清纯另类| 国产日韩欧美在线一区| 久久精品欧美日韩精品 | 麻豆精品一区二区| 天天综合天天做天天综合| 亚洲成人激情av| 亚洲成人免费看| 日本美女一区二区| 蜜臀av性久久久久av蜜臀妖精 | 99国产精品国产精品久久| www.久久久久久久久| av亚洲精华国产精华精| www.成人在线| 91成人免费网站| 91.麻豆视频| 日韩午夜激情免费电影| 精品成人免费观看| 久久精品一区二区三区不卡牛牛| 国产无一区二区| 1024成人网色www| 亚洲高清中文字幕| 毛片不卡一区二区| 国产不卡免费视频| 91污片在线观看| 欧美欧美欧美欧美首页| 精品少妇一区二区三区视频免付费 | 在线免费精品视频| 欧美精品免费视频| 亚洲精品在线网站| 中文字幕一区二区视频| 亚洲一区精品在线| 久久99国产精品免费| 成人国产电影网| 欧美日韩夫妻久久| 国产午夜久久久久| 亚洲午夜激情网页| 国产在线日韩欧美| 91成人网在线| 久久夜色精品国产噜噜av| 亚洲日本一区二区| 久久精品国产77777蜜臀| 成人高清免费在线播放| 91精品欧美久久久久久动漫| 久久精品欧美一区二区三区麻豆| 一区二区三区国产精品| 久久福利视频一区二区| 色婷婷久久一区二区三区麻豆| 日韩一区二区不卡| 亚洲日本中文字幕区| 久久99国产精品久久| 91久久香蕉国产日韩欧美9色| 欧美电影免费观看高清完整版在线观看 | 成人激情av网| 欧美一区二区三区四区久久| 国产精品萝li| 久草这里只有精品视频| 一本久道久久综合中文字幕| 91在线高清观看| 国产99久久久久久免费看农村| 99re这里只有精品首页| 日韩一二三区不卡| 亚洲精品videosex极品| 国产一区二区三区在线观看精品| 日本高清视频一区二区| 国产欧美日韩麻豆91| 免费精品视频最新在线| 欧美在线短视频| 亚洲精品免费一二三区| 高清免费成人av| 久久综合狠狠综合| 日本视频免费一区| 欧美日韩久久不卡| 亚洲精品国产无天堂网2021| 成人黄色777网| 久久精品网站免费观看| 久久99精品国产麻豆不卡| 欧美日韩dvd在线观看| 亚洲男人的天堂在线aⅴ视频| 国产精品一区二区在线观看不卡| 3d成人动漫网站| 丝袜诱惑亚洲看片| 欧美日韩免费高清一区色橹橹| 日韩美女精品在线| 成人av免费观看| 欧美国产乱子伦 | 色综合久久天天| 中文字幕一区二区三区精华液 | 中文一区在线播放| 久久机这里只有精品| 欧美日韩高清一区二区不卡| 亚洲黄色av一区| 日本韩国一区二区| 一区二区三区在线免费播放 | 精品国产乱码久久久久久免费| 亚洲精品乱码久久久久久黑人| 91蜜桃传媒精品久久久一区二区| 国产精品污网站| 99视频有精品| 亚洲另类在线一区| 欧美无砖专区一中文字| 日日夜夜免费精品| 欧美一区二区在线播放| 久久成人久久爱| 久久久不卡网国产精品一区| 国产一区二区三区四区五区入口| 精品国产露脸精彩对白| 国产精品资源站在线| 国产精品久久影院| 欧美在线观看视频一区二区三区| 亚洲国产一二三| 日韩一本二本av| 丰满岳乱妇一区二区三区| 国产精品青草久久| 欧美在线视频不卡| 日韩成人av影视| 久久久影院官网| 95精品视频在线| 日韩电影免费在线看| 久久亚洲精华国产精华液 | 久久精品久久精品| 欧美极品少妇xxxxⅹ高跟鞋| 色综合久久久久| 蜜桃视频第一区免费观看| 中文字幕 久热精品 视频在线|