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

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

?? remote-ext.h

?? “網絡安全技術實踐與代碼詳解”實例代碼
?? H
字號:
/*
 * Copyright (c) 2002 - 2003
 * NetGroup, Politecnico di Torino (Italy)
 * All rights reserved.
 * 
 * Redistribution and use in source and binary forms, with or without 
 * modification, are permitted provided that the following conditions 
 * are met:
 * 
 * 1. Redistributions of source code must retain the above copyright 
 * notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright 
 * notice, this list of conditions and the following disclaimer in the 
 * documentation and/or other materials provided with the distribution. 
 * 3. Neither the name of the Politecnico di Torino 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 BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 * 
 */


#ifndef __REMOTE_EXT_H__
#define __REMOTE_EXT_H__



// Definition for Microsoft Visual Studio
#if _MSC_VER > 1000
#pragma once
#endif

#ifdef __cplusplus
extern "C" {
#endif

/*!
	\file remote-ext.h

	The goal of this file it to include most of the new definitions that should be
	placed into the pcap.h file.

	It includes all new definitions (structures and functions like pcap_open().
    Some of the functions are not really a remote feature, but, right now, 
	they are placed here.
*/



// All this stuff is public
/*! \addtogroup remote_struct
	\{
*/




/*!
	\brief Defines the maximum buffer size in which address, port, interface names are kept.

	In case the adapter name or such is larger than this value, it is truncated.
	This is not used by the user; however it must be aware that an hostname / interface
	name longer than this value will be truncated.
*/
#define PCAP_BUF_SIZE 1024


/*! \addtogroup remote_source_ID
	\{
*/


/*!
	\brief Internal representation of the type of source in use (file, 
	remote/local interface).

	This indicates a file, i.e. the user want to open a capture from a local file.
*/
#define PCAP_SRC_FILE 2
/*!
	\brief Internal representation of the type of source in use (file, 
	remote/local interface).

	This indicates a local interface, i.e. the user want to open a capture from 
	a local interface. This does not involve the RPCAP protocol.
*/
#define PCAP_SRC_IFLOCAL 3
/*!
	\brief Internal representation of the type of source in use (file, 
	remote/local interface).

	This indicates a remote interface, i.e. the user want to open a capture from 
	an interface on a remote host. This does involve the RPCAP protocol.
*/
#define PCAP_SRC_IFREMOTE 4

/*!
	\}
*/



/*! \addtogroup remote_source_string

	The formats allowed by the pcap_open() are the following:
	- file://path_and_filename [opens a local file]
	- rpcap://devicename [opens the selected device devices available on the local host, without using the RPCAP protocol]
	- rpcap://host/devicename [opens the selected device available on a remote host]
	- rpcap://host:port/devicename [opens the selected device available on a remote host, using a non-standard port for RPCAP]
	- adaptername [to open a local adapter; kept for compability, but it is strongly discouraged]
	- (NULL) [to open the first local adapter; kept for compability, but it is strongly discouraged]

	The formats allowed by the pcap_findalldevs_ex() are the following:
	- file://folder/ [lists all the files in the given folder]
	- rpcap:// [lists all local adapters]
	- rpcap://host:port/ [lists the devices available on a remote host]

	Referring to the 'host' and 'port' paramters, they can be either numeric or literal. Since
	IPv6 is fully supported, these are the allowed formats:

	- host (literal): e.g. host.foo.bar
	- host (numeric IPv4): e.g. 10.11.12.13
	- host (numeric IPv4, IPv6 style): e.g. [10.11.12.13]
	- host (numeric IPv6): e.g. [1:2:3::4]
	- port: can be either numeric (e.g. '80') or literal (e.g. 'http')

	Here you find some allowed examples:
	- rpcap://host.foo.bar/devicename [everything literal, no port number]
	- rpcap://host.foo.bar:1234/devicename [everything literal, with port number]
	- rpcap://10.11.12.13/devicename [IPv4 numeric, no port number]
	- rpcap://10.11.12.13:1234/devicename [IPv4 numeric, with port number]
	- rpcap://[10.11.12.13]:1234/devicename [IPv4 numeric with IPv6 format, with port number]
	- rpcap://[1:2:3::4]/devicename [IPv6 numeric, no port number]
	- rpcap://[1:2:3::4]:1234/devicename [IPv6 numeric, with port number]
	- rpcap://[1:2:3::4]:http/devicename [IPv6 numeric, with literal port number]
	
	\{
*/


/*!
	\brief String that will be used to determine the type of source in use (file,
	remote/local interface).

	This string will be prepended to the interface name in order to create a string
	that contains all the information required to open the source.

	This string indicates that the user wants to open a capture from a local file.
*/
#define PCAP_SRC_FILE_STRING "file://"
/*!
	\brief String that will be used to determine the type of source in use (file,
	remote/local interface).

	This string will be prepended to the interface name in order to create a string
	that contains all the information required to open the source.

	This string indicates that the user wants to open a capture from a network interface.
	This string does not necessarily involve the use of the RPCAP protocol. If the
	interface required resides on the local host, the RPCAP protocol is not involved
	and the local functions are used.
*/
#define PCAP_SRC_IF_STRING "rpcap://"

/*!
	\}
*/





/*!
	\addtogroup remote_open_flags
	\{
*/

/*!
	\brief It defines if the adapter has to go in promiscuous mode.

	It is '1' if you have to open the adapter in promiscuous mode, '0' otherwise.
	Note that even if this parameter is false, the interface could well be in promiscuous
	mode for some other reason (for example because another capture process with 
	promiscuous mode enabled is currently using that interface).
	On on Linux systems with 2.2 or later kernels (that have the "any" device), this
	flag does not work on the "any" device; if an argument of "any" is supplied,
	the 'promisc' flag is ignored.
*/
#define PCAP_OPENFLAG_PROMISCUOUS		1

/*!
	\brief It defines if the data trasfer (in case of a remote
	capture) has to be done with UDP protocol.

	If it is '1' if you want a UDP data connection, '0' if you want
	a TCP data connection; control connection is always TCP-based.
	A UDP connection is much lighter, but it does not guarantee that all
	the captured packets arrive to the client workstation. Moreover, 
	it could be harmful in case of network congestion.
	This flag is meaningless if the source is not a remote interface.
	In that case, it is simply ignored.
*/
#define PCAP_OPENFLAG_DATATX_UDP			2


/*!
	\brief It defines if the remote probe has to capture its own generated traffic.

	In case the remote probe uses the same interface to capture traffic and to send
	data back to the caller, the captured traffic includes the RPCAP traffic as well.
	If this flag is turned on, the RPCAP traffic is excluded from the capture, so that
	the trace returned back to the collector is does not include this traffic.
*/
#define PCAP_OPENFLAG_NOCAPTURE_RPCAP	4
/*!
	\}
*/


/*!
	\addtogroup remote_samp_methods
	\{
*/

/*!
	\brief No sampling has to be done on the current capture.

	In this case, no sampling algorithms are applied to the current capture.
*/
#define PCAP_SAMP_NOSAMP	0

/*!
	\brief It defines that only 1 out of N packets must be returned to the user.

	In this case, the 'value' field of the 'pcap_samp' structure indicates the
	number of packets (minus 1) that must be discarded before one packet got accepted.
	In other words, if 'value = 10', the first packet is returned to the caller, while
	the following 9 are discarded.
*/
#define PCAP_SAMP_1_EVERY_N	1

/*!
	\brief It defines that we have to return 1 packet every N milliseconds.

	In this case, the 'value' field of the 'pcap_samp' structure indicates the 'waiting
	time' in milliseconds before one packet got accepted.
	In other words, if 'value = 10', the first packet is returned to the caller; the next 
	returned one will be the first packet that arrives when 10ms have elapsed. 
*/
#define PCAP_SAMP_FIRST_AFTER_N_MS 2

/*!
	\}
*/


/*!
	\addtogroup remote_auth_methods
	\{
*/

/*!
	\brief It defines the NULL authentication.

	This value has to be used within the 'type' member of the pcap_rmtauth structure.
	The 'NULL' authentication has to be equal to 'zero', so that old applications
	can just put every field of struct pcap_rmtauth to zero, and it does work.
*/
#define RPCAP_RMTAUTH_NULL 0
/*!
	\brief It defines the username/password authentication.

	With this type of authentication, the RPCAP protocol will use the username/
	password provided to authenticate the user on the remote machine. If the
	authentication is successful (and the user has the right to open network devices)
	the RPCAP connection will continue; otherwise it will be dropped.

	This value has to be used within the 'type' member of the pcap_rmtauth structure.
*/
#define RPCAP_RMTAUTH_PWD 1

/*!
	\}
*/




/*!

	\brief This structure keeps the information needed to autheticate
	the user on a remote machine.
	
	The remote machine can either grant or refuse the access according 
	to the information provided.
	In case the NULL authentication is required, both 'username' and
	'password' can be NULL pointers.
	
	This structure is meaningless if the source is not a remote interface;
	in that case, the functions which requires such a structure can accept
	a NULL pointer as well.
*/
struct pcap_rmtauth
{
	/*!
		\brief Type of the authentication required.

		In order to provide maximum flexibility, we can support different types
		of authentication based on the value of this 'type' variable. The currently 
		supported authentication methods are defined into the
		\link remote_auth_methods Remote Authentication Methods Section\endlink.

	*/
	int type;
	/*!
		\brief Zero-terminated string containing the username that has to be 
		used on the remote machine for authentication.
		
		This field is meaningless in case of the RPCAP_RMTAUTH_NULL authentication
		and it can be NULL.
	*/
	char *username;
	/*!
		\brief Zero-terminated string containing the password that has to be 
		used on the remote machine for authentication.
		
		This field is meaningless in case of the RPCAP_RMTAUTH_NULL authentication
		and it can be NULL.
	*/
	char *password;
};


/*!
	\brief This structure defines the information related to sampling.

	In case the sampling is requested, the capturing device should read
	only a subset of the packets coming from the source. The returned packets depend
	on the sampling parameters.

	\warning The sampling process is applied <strong>after</strong> the filtering process.
	In other words, packets are filtered first, then the sampling process selects a
	subset of the 'filtered' packets and it returns them to the caller.
*/
struct pcap_samp
{
	/*!
		Method used for sampling. Currently, the supported methods are listed in the
		\link remote_samp_methods Sampling Methods Section\endlink.
	*/
	int method;

	/*!
		This value depends on the sampling method defined. For its meaning, please check
		at the \link remote_samp_methods Sampling Methods Section\endlink.
	*/
	int value;
};




//! Maximum lenght of an host name (needed for the RPCAP active mode)
#define RPCAP_HOSTLIST_SIZE 1024


/*!
	\}
*/ // end of public documentation


// Exported functions



/** \name New WinPcap functions

	This section lists the new functions that are able to help considerably in writing
	WinPcap programs because of their easiness of use.
 */
//\{
pcap_t *pcap_open(const char *source, int snaplen, int flags, int read_timeout, struct pcap_rmtauth *auth, char *errbuf);
int pcap_createsrcstr(char *source, int type, const char *host, const char *port, const char *name, char *errbuf);
int pcap_parsesrcstr(const char *source, int *type, char *host, char *port, char *name, char *errbuf);
int pcap_findalldevs_ex(char *source, struct pcap_rmtauth *auth, pcap_if_t **alldevs, char *errbuf);
struct pcap_samp *pcap_setsampling(pcap_t *p);

//\}
// End of new winpcap functions



/** \name Remote Capture functions
 */
//\{ 
SOCKET pcap_remoteact_accept(const char *address, const char *port, const char *hostlist, char *connectinghost, struct pcap_rmtauth *auth, char *errbuf);
int pcap_remoteact_list(char *hostlist, char sep, int size, char *errbuf);
int pcap_remoteact_close(const char *host, char *errbuf);
void pcap_remoteact_cleanup();
//\}
// End of remote capture functions

#ifdef __cplusplus
}
#endif


#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美三级欧美一级| 国产美女主播视频一区| 国产精品三级av| 国产色产综合产在线视频| 日韩一级大片在线观看| 欧美精品 国产精品| 欧美日韩国产综合久久 | 免费在线观看视频一区| 一区二区三区四区高清精品免费观看 | 日韩经典中文字幕一区| 日韩中文字幕区一区有砖一区 | 欧美激情综合五月色丁香小说| 国产亚洲精久久久久久| 久久精品一区二区| 亚洲国产精品t66y| 亚洲人成网站精品片在线观看| 亚洲精品老司机| 亚洲国产精品久久人人爱| 日韩精品国产精品| 国产一区 二区 三区一级| 高清不卡一区二区在线| 日本韩国视频一区二区| 欧美一区二区日韩| 中文字幕欧美激情| 亚洲成人777| 国产在线播放一区三区四| 99久久er热在这里只有精品66| 色综合色狠狠天天综合色| 欧美一区二区成人6969| 久久久不卡网国产精品一区| 最新国产精品久久精品| 亚洲成人免费看| 国产一区视频网站| 在线亚洲一区二区| 久久精品亚洲国产奇米99| 综合久久一区二区三区| 免费高清不卡av| 一本一本久久a久久精品综合麻豆| 欧美精品tushy高清| 国产精品美女视频| 三级久久三级久久| 91丨九色丨蝌蚪富婆spa| 欧美成人女星排行榜| 亚洲欧洲另类国产综合| 久99久精品视频免费观看| 99国产欧美另类久久久精品| 日韩精品一区二区三区中文不卡| 中文字幕一区av| 狠狠v欧美v日韩v亚洲ⅴ| 91行情网站电视在线观看高清版| 久久综合色之久久综合| 午夜国产精品影院在线观看| 91视频在线观看| 久久精品一区二区三区四区| 日韩av午夜在线观看| 男女性色大片免费观看一区二区| 成人午夜视频在线观看| 成人av在线资源网站| 欧美大片在线观看一区| 一区二区三区四区不卡视频| 国产精品亚洲午夜一区二区三区 | 日本视频在线一区| 91香蕉视频污在线| 国产欧美一区二区精品性色 | 日韩欧美在线不卡| 日韩在线播放一区二区| 91福利精品第一导航| 国产精品久久久久影院亚瑟| 精品一区二区三区视频| 91精品婷婷国产综合久久| 亚洲综合久久久| 色婷婷精品久久二区二区蜜臀av| 亚洲天堂福利av| 成人av先锋影音| 国产精品另类一区| 粉嫩13p一区二区三区| 国产亚洲一二三区| 国产sm精品调教视频网站| 久久久久久影视| 国产乱国产乱300精品| 欧美精品一区二| 国产精品自在欧美一区| 亚洲精品日韩一| 欧美图片一区二区三区| 亚洲综合另类小说| 在线播放91灌醉迷j高跟美女| 亚洲国产美女搞黄色| 精品视频在线免费看| 日本va欧美va欧美va精品| 欧美一区欧美二区| 国产精品自在欧美一区| 国产精品私人影院| 色哟哟日韩精品| 亚洲成av人片在线| 欧美电视剧免费观看| 成人妖精视频yjsp地址| 亚洲色图20p| 欧美另类变人与禽xxxxx| 久久99热99| 国产精品伦一区| 欧美体内she精视频| 免费观看91视频大全| 国产欧美日韩综合| 欧美亚洲综合在线| 国产在线精品视频| 亚洲免费在线看| 亚洲精品在线三区| 色综合久久中文综合久久牛| 日韩高清欧美激情| 国产精品毛片久久久久久久| 欧美午夜免费电影| 国产精品原创巨作av| 亚洲国产精品一区二区久久| 久久新电视剧免费观看| 色偷偷成人一区二区三区91| 六月丁香婷婷色狠狠久久| 亚洲欧美aⅴ...| 久久人人97超碰com| 欧美亚洲高清一区二区三区不卡| 极品少妇xxxx偷拍精品少妇| 亚洲视频小说图片| 国产肉丝袜一区二区| 欧美日韩成人一区二区| www.亚洲人| 91麻豆精品在线观看| 黄色日韩网站视频| 视频一区二区三区中文字幕| 综合婷婷亚洲小说| 亚洲国产精品精华液2区45| 欧美日韩一区二区在线观看视频| 国产91清纯白嫩初高中在线观看| 日韩精品高清不卡| 亚洲国产精品麻豆| 1区2区3区欧美| 国产亚洲女人久久久久毛片| 欧美一区二区三区视频免费 | 欧美一三区三区四区免费在线看| 99久久精品国产导航| 国产精品99久久久久| 经典三级视频一区| 美女一区二区在线观看| 亚洲成精国产精品女| 亚洲欧美激情小说另类| 国产欧美日韩综合精品一区二区| 精品精品国产高清a毛片牛牛| 制服丝袜国产精品| 欧美另类高清zo欧美| 欧美日韩一区二区不卡| 91久久久免费一区二区| 99久久99久久综合| 91蝌蚪porny| 91久久精品一区二区三| 色老汉av一区二区三区| 日本高清不卡aⅴ免费网站| 色猫猫国产区一区二在线视频| gogogo免费视频观看亚洲一| 成人av免费在线播放| 99久久精品国产毛片| 色8久久人人97超碰香蕉987| 在线视频你懂得一区二区三区| 91年精品国产| 欧美在线一区二区| 91麻豆精品国产91久久久久久久久| 欧美日韩国产综合草草| 欧美一级精品在线| 国产亚洲欧洲一区高清在线观看| 久久精品日产第一区二区三区高清版| 日韩一区二区精品| 欧美不卡视频一区| 日韩女优电影在线观看| 久久久久久久电影| 久久久久青草大香线综合精品| 4438x亚洲最大成人网| 日韩欧美亚洲另类制服综合在线| 欧美精品免费视频| 91精品国产综合久久精品性色| 欧美精品久久久久久久久老牛影院| 在线观看三级视频欧美| 国产精品自在在线| 在线中文字幕一区二区| 欧美图片一区二区三区| 欧美电影在哪看比较好| 亚洲国产精品久久艾草纯爱| 亚洲自拍偷拍网站| 午夜a成v人精品| 亚洲一区二区在线免费看| 日日夜夜免费精品| 精品综合久久久久久8888| 天堂成人国产精品一区| 国产精品1024| 一本一本大道香蕉久在线精品 | 国产精品久线观看视频| 亚洲精品乱码久久久久久久久 | 亚洲精品第1页| 激情五月激情综合网| 成人福利视频在线看| 欧洲av在线精品| 555www色欧美视频| 亚洲免费视频成人| 美国三级日本三级久久99|