メイン   モジュール   デー タ構造   ファイルリスト   データフィールド   グローバル   関連ページ   注意事項   English

pcap-remote.h File Reference

#include "pcap.h"

Go to the source code of this file.

Data Structures

struct  activehosts
 Keeps a list of all the opened connections in the active mode. More...

struct  rpcap_auth
 Structure that keeps the data required for the authentication on the remote host. More...

struct  rpcap_filter
 General header used for the pcap_setfilter() command; keeps just the number of BPF instructions. More...

struct  rpcap_filterbpf_insn
 Structure that keeps a single BPF instuction; it is repeated 'ninsn' times according to the 'rpcap_filterbpf' header. More...

struct  rpcap_findalldevs_if
 Format of the message for the interface description (findalldevs command). More...

struct  rpcap_findalldevs_ifaddr
 Format of the message for the address listing (findalldevs command). More...

struct  rpcap_header
 Common header for all the RPCAP messages. More...

struct  rpcap_openreply
 Format of the message of the connection opening reply (open command). More...

struct  rpcap_pkthdr
 Format of the header which encapsulates captured packets when transmitted on the network. More...

struct  rpcap_startcapreply
 Format of the reply message that devoted to start a remote capture (startcap reply command). More...

struct  rpcap_startcapreq
 Format of the message that starts a remote capture (startcap command). More...

struct  rpcap_stats
 Structure that keeps the statistics about the number of packets captured, dropped, etc. More...


Defines

#define RPCAP_DEFAULT_NETPORT   "2002"
#define RPCAP_DEFAULT_NETPORT_ACTIVE   "2003"
#define RPCAP_DEFAULT_NETADDR   ""
#define RPCAP_VERSION   0
#define RPCAP_TIMEOUT_INIT   90
#define RPCAP_TIMEOUT_RUNTIME   180
#define RPCAP_ACTIVE_WAIT   30
#define RPCAP_SUSPEND_WRONGAUTH   1
#define RPCAP_NETBUF_SIZE   64000
 Buffer used by socket functions to send-receive packets. In case you plan to have messages larger than this value, you have to increase it.

#define RPCAP_HOSTLIST_SEP   " ,;\n\r"
 Separators used for the host list.

#define RPCAP_MSG_ERROR   1
#define RPCAP_MSG_FINDALLIF_REQ   2
#define RPCAP_MSG_OPEN_REQ   3
#define RPCAP_MSG_STARTCAP_REQ   4
#define RPCAP_MSG_UPDATEFILTER_REQ   5
#define RPCAP_MSG_CLOSE   6
#define RPCAP_MSG_PACKET   7
#define RPCAP_MSG_AUTH_REQ   8
#define RPCAP_MSG_STATS_REQ   9
#define RPCAP_MSG_ENDCAP_REQ   10
#define RPCAP_MSG_FINDALLIF_REPLY   (128+RPCAP_MSG_FINDALLIF_REQ)
#define RPCAP_MSG_OPEN_REPLY   (128+RPCAP_MSG_OPEN_REQ)
#define RPCAP_MSG_STARTCAP_REPLY   (128+RPCAP_MSG_STARTCAP_REQ)
#define RPCAP_MSG_UPDATEFILTER_REPLY   (128+RPCAP_MSG_UPDATEFILTER_REQ)
#define RPCAP_MSG_AUTH_REPLY   (128+RPCAP_MSG_AUTH_REQ)
#define RPCAP_MSG_STATS_REPLY   (128+RPCAP_MSG_STATS_REQ)
#define RPCAP_MSG_ENDCAP_REPLY   (128+RPCAP_MSG_ENDCAP_REQ)
#define RPCAP_STARTCAPREQ_FLAG_PROMISC   1
#define RPCAP_STARTCAPREQ_FLAG_DGRAM   2
#define RPCAP_STARTCAPREQ_FLAG_SERVEROPEN   4
#define RPCAP_STARTCAPREQ_FLAG_INBOUND   8
#define RPCAP_STARTCAPREQ_FLAG_OUTBOUND   16
#define RPCAP_UPDATEFILTER_BPF   1
#define PCAP_ERR_NETW   1
#define PCAP_ERR_INITTIMEOUT   2
#define PCAP_ERR_AUTH   3
#define PCAP_ERR_FINDALLIF   4
#define PCAP_ERR_NOREMOTEIF   5
#define PCAP_ERR_OPEN   6
#define PCAP_ERR_UPDATEFILTER   7
#define PCAP_ERR_GETSTATS   8
#define PCAP_ERR_READEX   9
#define PCAP_ERR_HOSTNOAUTH   10
#define PCAP_ERR_REMOTEACCEPT   11
#define PCAP_ERR_STARTCAPTURE   12
#define PCAP_ERR_ENDCAPTURE   13
#define PCAP_ERR_RUNTIMETIMEOUT   14

Typedefs

typedef unsigned char uint8
 Provides an 8-bits unsigned integer.

typedef unsigned short uint16
 Provides a 16-bits unsigned integer.

typedef unsigned int uint32
 Provides a 32-bits unsigned integer.

typedef int int32
 Provides a 32-bits integer.


Functions

pcap_tpcap_opensource_remote (const char *source, struct pcap_rmtauth *auth, char *errbuf)
 It opens a remote adapter by opening an RPCAP connection and so on.

int pcap_startcapture_remote (pcap_t *fp)
 It starts a remote capture.

int pcap_read_nocb_remote (pcap_t *p, struct pcap_pkthdr **pkt_header, u_char **pkt_data)
 It reads a packet from the network socket. This does not make used of callback (hence the "nocb" string into its name).

int pcap_read_remote (pcap_t *p, int cnt, pcap_handler callback, u_char *user)
 It reads a packet from the network socket.

int pcap_updatefilter_remote (pcap_t *fp, struct bpf_program *prog)
 Update a filter on a remote host.

int pcap_setfilter_remote (pcap_t *fp, struct bpf_program *prog)
 Send a filter to a remote host.

int pcap_stats_remote (pcap_t *p, struct pcap_stat *ps)
 It retrieves network statistics from the other peer.

pcap_statpcap_stats_ex_remote (pcap_t *p)
 It retrieves network statistics from the other peer.

void pcap_close_remote (pcap_t *p)
 It sends a CLOSE command to the capture server.

void rpcap_createhdr (struct rpcap_header *header, uint8 type, uint16 value, uint32 length)
 Creates a structure of type rpcap_header.

int rpcap_deseraddr (struct sockaddr_storage *sockaddrin, struct sockaddr_storage **sockaddrout, char *errbuf)
 It traslates (i.e. de-serializes) a 'sockaddr_storage' structure from the network byte order to the host byte order.

int rpcap_checkmsg (char *errbuf, SOCKET sock, struct rpcap_header *header, uint8 first,...)
 Checks if the header of the received message is correct.

int rpcap_senderror (SOCKET sock, char *error, unsigned short errcode, char *errbuf)
 It sends a RPCAP error to the other peer.

int rpcap_sendauth (SOCKET sock, struct pcap_rmtauth *auth, char *errbuf)
 Sends the authentication message.

int rpcap_remoteact_getsock (const char *host, char *errbuf)
 It returns the socket currently used for this active connection (active mode only).

void pthread_suspend (int msec)
 Suspends a pthread for msec milliseconds.


Detailed Description

This file keeps all the new definitions and typedefs that are exported to the user and that are needed for the RPCAP protocol.

Warning:
All the RPCAP functions that are allowed to return a buffer containing the error description can return max PCAP_ERRBUF_SIZE characters. However there is no guarantees that the string will be zero-terminated. Best practice is to define the errbuf variable as a char of size 'PCAP_ERRBUF_SIZE+1' and to insert manually a '' character at the end of the buffer. This will guarantee that no buffer overflows occur even if we use the printf() to show the error on the screen.

This file declares some typedefs that MUST be of a specific size. These definitions (i.e. typedefs) could need to be changed on other platforms than Intel IA32.

This file defines some structures that are used to transfer data on the network. Be careful that you compiler MUST not insert padding into these structures for better alignment. These structures have been created in order to be correctly aligned to a 32 bits boundary, but be careful in any case.

Definition in file pcap-remote.h.


documentation. Copyright (c)2002-2003 Politecnico di Torino.
2005 translated by Telebusiness,Inc.
 All rights reserved.