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

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

?? itg.h

?? D-ITG2.4源代碼
?? H
字號:
 /*	Component of the D-ITG 2.4 Platform
 *
 * 	
 *	copyright	: (C) 2004  	by Stefano Avallone, Alessio Botta, Donato Emma, 
 *					Salvatore Guadagno, Antonio Pescape'
 *					DIS Dipartimento di Informatica e Sistemistica				 
 *					(Computer Science Department)
 *					University of Naples "Federico II"	
 *	email:		: {stavallo, pescape}@unina.it, {abotta, demma, sguadagno}@napoli.consorzio-cini.it
 *
 *	This program is free software; you can redistribute it and/or modify
 *	it under the terms of the GNU General Public License as published by
 *	the Free Software Foundation; either version 2 of the License, or
 *      (at your option) any later version.
 */
 
 






#include "../libITG/ITGapi.h"
#include "thread.h"

#include <string.h>		
#include <stdlib.h>		
#include <stdio.h>
#include <fstream.h>
#include <iostream.h>
#include <sys/types.h>		
#include <signal.h>
#include <errno.h>

#ifdef WIN32
#include <winsock2.h>
#include <ws2tcpip.h>

#include <io.h>
typedef int pid_t;
typedef int socklen_t;
typedef int uid_t;
typedef u_long in_addr_t;
typedef u_short in_port_t;
typedef HANDLE pthread_t;
#endif

#ifdef LINUX_OS
#include <netinet/in.h>		
#include <arpa/inet.h>
#include <sys/time.h>
#include <unistd.h>		
#include <fcntl.h>
#include <netdb.h>
#include <sys/socket.h>
#include <sys/mman.h>		
#include <sched.h>		
typedef unsigned short USHORT;
typedef char UCHAR;
typedef unsigned char BYTE;
typedef long int ULONG;
#define INFINITE 60000
#define INVALID_HANDLE_VALUE -1
#endif

#define	max(a,b)	((a) > (b) ? (a) : (b))

extern const char *meters[];
extern const char *l7Protocols[];
extern const char *l4Protocols[];

#define LX_ERROR_BYTE	255

#define LX_PROTO_NONE	0

#define L4_PROTO_TCP	1
#define L4_PROTO_UDP	2
#define L4_PROTO_ICMP	3

#define L7_PROTO_TELNET	1
#define L7_PROTO_VOIP	2
#define L7_PROTO_DNS	3



#define LOG_CONNECT 1


#define METER_OWDM    1
#define METER_RTTM    2




#define NO_TERMINATE 0

#define TERMINATE 1

#define ERROR_TERMINATE 2




#define SENDER	0

#define RECEIVER	1



#define TSP_CONNECT		1

#define TSP_ACK_CONNECT		2

#define TSP_SEND_FLOW		3

#define TSP_CLOSED_FLOW		4

#define TSP_ACK_SEND_FLOW	5

#define TSP_ACK_CLOSED_FLOW	6

#define TSP_ACK_RELEASE		7

#define TSP_DISCOVERY		8

#define TSP_ACK_DISCOVERY	9

#define TSP_CRYPTO_RSA		10

#define TSP_RELEASE		11

#define TSP_SEND_FLOW_LOG	12

#define TSP_ACK_SEND_FLOW_LOG	13

#define TSP_CLOSED_ERR		17

#define TSP_ERR_MSG_1		14

#define TSP_ERR_MSG_2		15

#define TSP_ERR_MSG_3		16

#define TSP_ERR_MSG_4		22

#define TSP_SENDER_DOWN		21

#define TSP_SEND_NAME_LOG	19

#define TSP_ACK_SEND_NAME_LOG	18


#ifdef WIN32

#define USER_ID()		1
#endif

#ifdef LINUX_OS

#define USER_ID()		getuid()
#endif


#define SET_PORT(host,port) \
	if (host->ai_family == PF_INET)  \
		((struct sockaddr_in*)(host->ai_addr))->sin_port=port;  \
	else if (host->ai_family == PF_INET6)  \
		((struct sockaddr_in6*)(host->ai_addr))->sin6_port=port;

#define GET_PORT(host,port) \
	if (host->ai_family == PF_INET)  \
		port=((struct sockaddr_in*)(host->ai_addr))->sin_port;  \
	else if (host->ai_family == PF_INET6)  \
		port=((struct sockaddr_in6*)(host->ai_addr))->sin6_port;



#ifdef WIN32
#define ARE_INET_ADDR_EQUAL(a,b) \
  ( (a->ai_family == b->ai_family)  &&    \
    ( a->ai_family == PF_INET    ?        \
      ((struct sockaddr_in*)(a->ai_addr))->sin_addr.s_addr == ((struct sockaddr_in*)(b->ai_addr))->sin_addr.s_addr  :    \
      IN6_ARE_ADDR_EQUAL(&(((struct sockaddr_in6*)(a->ai_addr))->sin6_addr),&(((struct sockaddr_in6*)(b->ai_addr))->sin6_addr))  ))
#endif

#ifdef LINUX_OS
#define ARE_INET_ADDR_EQUAL(a,b) \
  ( (a->ai_family == b->ai_family)  &&    \
    ( a->ai_family == PF_INET    ?        \
      ((struct sockaddr_in*)(a->ai_addr))->sin_addr.s_addr == ((struct sockaddr_in*)(b->ai_addr))->sin_addr.s_addr  :    \
      IN6_ARE_ADDR_EQUAL(((struct sockaddr_in6*)(a->ai_addr))->sin6_addr.s6_addr32,((struct sockaddr_in6*)(b->ai_addr))->sin6_addr.s6_addr32)  ))
#endif

#ifdef LINUX_OS

#define INET_NTOP(host,dst,cnt)  \
	if (host->ai_family == PF_INET)  \
		inet_ntop(host->ai_family,&(((struct sockaddr_in*)host->ai_addr)->sin_addr),dst,cnt);  \
	else if (host->ai_family == PF_INET6)  \
		inet_ntop(host->ai_family,&(((struct sockaddr_in6*)host->ai_addr)->sin6_addr),dst,cnt);
#endif



#define DEFAULT_PORT_SIGNALING 9000	
#define DEFAULT_PORT 8999	
#define DEFAULT_PORT_SENDER 8998	
#define DEFAULT_LOG_PORT 9002	
#define DEFAULT_LOG_PORT_SIGNALING 9001	
#define DEFAULT_PORT_SENDER_MANAGER 8998	
#define DIM 50			
#define TIME_OUT 100
#define DIM_LOG_FILE 200
#define DIM_NAME_SERIAL_INTERFACE 10

#define MAX_PAYLOAD_SIZE 64000	
#define MAX_NUM_THREAD 400
#define DEFAULT_PROTOCOL_TX_LOG		L4_PROTO_UDP
#define DEFAULT_PROTOCOL_TX_LOG_OPZ	L4_PROTO_UDP


extern char programName[100];
extern char DEFAULT_LOG_IP[10];


struct signaling {
	BYTE protocol;
	bool stop;
	char logFile[DIM_LOG_FILE];
};



struct info {
	unsigned int flowId;
	unsigned int seqNum;
	char srcAddr[INET6_ADDRSTRLEN];
	unsigned int srcPort;
	char destAddr[INET6_ADDRSTRLEN];
	unsigned int destPort;
	long int txTime1;
	long int txTime2;
	double txTime3;
	long int rxTime1;
	long int rxTime2;
	double rxTime3;
	int size;
};


struct icmpv6 {
	BYTE icmp_type;
	BYTE icmp_code;
	USHORT icmp_cksum;
};



struct icmp {
	BYTE icmp_type;
	BYTE icmp_code;
	USHORT icmp_cksum;
	USHORT icmp_id;
	USHORT icmp_seq;

};

#ifdef WIN32

struct iphdr {
	unsigned char ihl:4;	
	unsigned char version:4;	
	unsigned char tos;	
	unsigned short tot_len;	
	unsigned short id;	
	unsigned short frag_off;	
	unsigned char ttl;
	unsigned char protocol;	
	unsigned short check;	
	unsigned int saddr;
	unsigned int daddr;
};

int InitializeWinsock(WORD wVersionRequested);
void sleep(int tempo);
#endif

char *allowedLogFile(char logFile[DIM_LOG_FILE]);

void closeFileLog(ofstream * out);


USHORT checksum(USHORT * buffer, int size);


char *putValue(void* startPos,void* data,int size);

BYTE findMeter(char *s);
BYTE findL4Proto(char *s);
BYTE findL7Proto(char *s);

const char* invFindMeter(BYTE meter);
const char* invFindL4Proto(BYTE proto);
const char* invFindL7Proto(BYTE proto);




inline void getInfo(struct addrinfo *Host,int &tmpPort,	char *HelpAddress)
{
    
	GET_PORT(Host, tmpPort);

    
    getnameinfo(Host->ai_addr, Host->ai_addrlen, HelpAddress, INET6_ADDRSTRLEN, NULL, 0, NI_NUMERICHOST);
}



inline int writeInBuffer(info * infos,int FlowId, int ptrSeqNum, char *SrcHost,
    char *DestHost,in_port_t tmp_portSrc, in_port_t tmp_portDest ,long time1, long time2,long txTime_Usec,long
    rxTime_Usec, int size)
{
    
	infos->flowId = FlowId;

	
	infos->seqNum = ptrSeqNum;
	
    strcpy(infos->srcAddr, SrcHost);
	
   	
   	infos->srcPort = ntohs(tmp_portSrc);

    
    strcpy(infos->destAddr, DestHost);

    
    infos->destPort = ntohs(tmp_portDest);

	
    infos->txTime1 = time1 / 3600;
    infos->txTime2 = (time1 % 3600) / 60;
    infos->txTime3 = time1 % 60 + txTime_Usec / 1000000.0;
	

    infos->rxTime1 = time2 / 3600;
    infos->rxTime2 = (time2 % 3600) / 60;
    infos->rxTime3 = time2 % 60 + rxTime_Usec / 1000000.0;
    infos->size = size;

#ifdef DEBUG_PACKET
	printf("flowId : %d\n",infos->flowId);
	printf("Sequence Number : %d\n",infos->seqNum);
	printf("Src : %16s/%hu  ",infos->srcAddr,infos->srcPort);
	printf("Dest : %16s/%hu  ",infos->destAddr,infos->destPort);
	printf("TxTime : %u:%u:%lf ",(unsigned int)infos->txTime1,(unsigned int)infos->txTime2,infos->txTime3);
	printf("RxTime : %u:%u:%lf ",(unsigned int)infos->rxTime1,(unsigned int)infos->rxTime2,infos->rxTime3);
	printf("Size : %5u\n",infos->size);

#endif
     return 0;
}



inline int TCPrecvPacket(unsigned char *payload,int newSock)
{

	
	unsigned char *ptrSize = payload + 2*sizeof(unsigned int)+ sizeof(long int)+ sizeof(int) ;

   	
	int sizePreamble =  2 *sizeof(unsigned int)  + 2* sizeof(long int) +  sizeof(int);

	
	unsigned char buffer[MAX_PAYLOAD_SIZE];

   	 

	

   	 
	int size = 0, size_p = 0, size_r = 0;

	size_r = recv(newSock, (char *) payload, sizePreamble, 0);

	
	if (size_r < 0)
			return 1;

#ifdef DEBUG
	printf("TCP Pkt Receiver - Received TCP Preamble first time :%d \n",size_r);
#endif
		
	if (size_r < sizePreamble) {
			
			int size_l = 0;
			
			int size_prec = size_r;
			
			unsigned char *ptr_payload;
			
			ptr_payload = payload + size_prec;

			unsigned char *ptr;
			
			ptr = buffer;
			
			while ((sizePreamble - size_prec) > 0) {
				
				size_l = recv(newSock, (char *) buffer, sizePreamble - size_prec, 0);
				if (size_l < 0)
				    return 1;
#ifdef DEBUG
				printf("TCP Pkt Receiver : Received Other data of TCP Preamble %d\n",size_l);
#endif
				
				size_prec = size_l + size_prec;
				
				memcpy(ptr_payload, ptr, size_l);
				
				ptr = ptr + size_l;
				ptr_payload = ptr_payload + size_l;
			}
	}

	

	
	size = *(int *) ptrSize;
	
	size_p = recv(newSock, (char *) buffer, (size - sizePreamble), 0);
	if (size_p < 0)
		    return 2;
#ifdef DEBUG
		printf("TCP Pkt Receiver : Received TCP Payload  :%d \n",size_p);
#endif
		
	if (size_p < (size - sizePreamble)) {
			
			int size_l = 0;
			
			int size_prec = size_p;
			
			while (size_prec < (size - sizePreamble)) {
				
				size_l =
				    recv(newSock, (char *) buffer, ((size - sizePreamble) - size_prec), 0);
#ifdef DEBUG
					printf("TCP Pkt received payload for other times: %d \n",size_l);
#endif
				if (size_l < 0)
				    return 2;
#ifdef DEBUG
					printf("TCP Pkt Receiver : Received Other data of TCP Payload\n");
#endif
				
				size_prec = size_l + size_prec;
			}
	}
	return size;
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲国产毛片aaaaa无费看| 自拍av一区二区三区| 国产69精品一区二区亚洲孕妇| 久久精品水蜜桃av综合天堂| 91丨porny丨首页| 国产日产精品1区| 777午夜精品免费视频| 国产69精品久久久久毛片| 一区二区三区在线免费观看| 久久伊99综合婷婷久久伊| 91美女在线看| 国产一区不卡视频| 视频一区二区中文字幕| 国产精品美女www爽爽爽| 91福利精品第一导航| 亚洲第一福利视频在线| 国产欧美一区二区三区网站| 欧美怡红院视频| 琪琪一区二区三区| 久久久91精品国产一区二区三区| 国产成人精品一区二区三区网站观看| 欧美日韩一级视频| 国产日韩欧美一区二区三区乱码| 欧美大片一区二区| 亚洲一区成人在线| 精品污污网站免费看| 在线不卡一区二区| 亚洲你懂的在线视频| 91麻豆自制传媒国产之光| 精品美女一区二区| 欧洲av在线精品| eeuss影院一区二区三区| 欧美a一区二区| 亚洲一区免费视频| 一区二区三区精品视频| 国产精品美女久久久久久久 | 精品第一国产综合精品aⅴ| 亚洲欧美日韩人成在线播放| 日韩1区2区日韩1区2区| 色呦呦一区二区三区| 日本91福利区| 欧美精品乱人伦久久久久久| 一区二区三区精品| 国产天堂亚洲国产碰碰| 欧美在线观看视频一区二区三区| 久久99日本精品| 一区二区三区国产豹纹内裤在线 | 欧美日韩国产精选| 国产一区二区三区四区在线观看 | 狠狠色狠狠色综合| 综合久久一区二区三区| 国产精品护士白丝一区av| 久久精品日产第一区二区三区高清版| 成人午夜激情在线| 久久不见久久见免费视频1| 亚洲一级电影视频| 亚洲在线观看免费| 亚洲综合在线视频| 亚洲一区二区三区中文字幕在线| 亚洲四区在线观看| xnxx国产精品| 欧美极品另类videosde| 国产欧美精品一区| 久久久美女艺术照精彩视频福利播放| 一区二区三区免费| 国产日韩三级在线| 精品国产3级a| 美女视频一区在线观看| 亚洲美女视频一区| 一级做a爱片久久| 亚洲同性gay激情无套| 亚洲精品伦理在线| 国产91精品一区二区| 欧美欧美欧美欧美首页| 亚洲精品久久7777| 99久久国产免费看| 久久久蜜臀国产一区二区| 麻豆成人免费电影| 精品日韩99亚洲| 久久se这里有精品| 日韩免费高清电影| 秋霞国产午夜精品免费视频| 日韩视频一区二区三区| 久久9热精品视频| 欧美高清激情brazzers| 亚洲第一综合色| 99精品视频在线免费观看| 欧美va日韩va| 国产中文字幕精品| 3atv在线一区二区三区| 亚洲自拍偷拍网站| 国产成a人亚洲| 精品美女在线播放| 日韩综合在线视频| 欧美精品久久一区二区三区 | 在线观看免费视频综合| 亚洲欧洲综合另类| 在线视频综合导航| 亚洲综合小说图片| 99久久精品免费看| 亚洲国产精品一区二区久久| 国产喷白浆一区二区三区| 亚洲女子a中天字幕| 91免费小视频| 偷拍亚洲欧洲综合| www久久精品| 91亚洲精华国产精华精华液| 亚洲一区二区偷拍精品| 678五月天丁香亚洲综合网| 国产成人精品免费一区二区| 国产日韩一级二级三级| 精品嫩草影院久久| 91精品国产高清一区二区三区 | 久久久一区二区三区| 国产美女娇喘av呻吟久久| 无吗不卡中文字幕| 三级不卡在线观看| 不卡一二三区首页| 97久久超碰国产精品电影| 97久久超碰国产精品| 99久久精品国产麻豆演员表| 91视频观看视频| 91丨九色丨尤物| 久久精品男人的天堂| 福利一区福利二区| 无码av免费一区二区三区试看| 99v久久综合狠狠综合久久| 亚洲一区二区三区自拍| 精品国产凹凸成av人导航| 色悠悠久久综合| 国产精品高潮久久久久无| 91精品蜜臀在线一区尤物| 欧美一级久久久| 久久日韩粉嫩一区二区三区 | 日韩精品一区二| 欧美激情综合网| 亚洲激情自拍视频| 久久99精品久久久久婷婷| 韩国女主播一区| 在线观看视频91| www欧美成人18+| 亚洲亚洲精品在线观看| 亚洲国产高清不卡| 精品国产伦一区二区三区观看体验| 成人爽a毛片一区二区免费| 国产一区三区三区| 久久福利视频一区二区| 丁香六月综合激情| 国产99精品在线观看| 国产麻豆精品视频| 波多野结衣一区二区三区 | 欧美mv和日韩mv的网站| 不卡电影一区二区三区| 久久66热偷产精品| 久久精品国产在热久久| 免费久久精品视频| 久久99蜜桃精品| 一本大道久久a久久综合| 国产福利视频一区二区三区| 久久99国产精品久久| 精品福利av导航| 国产在线精品一区二区三区不卡 | 国产一区二区三区美女| 精品中文字幕一区二区小辣椒| 成人免费观看视频| 91麻豆精品视频| 欧美剧情片在线观看| 97久久超碰精品国产| 欧美日韩久久久| 欧美在线看片a免费观看| 国产麻豆午夜三级精品| 国产成人在线视频免费播放| 国产又黄又大久久| 99国产精品视频免费观看| 欧洲生活片亚洲生活在线观看| 一本色道久久综合亚洲91| 成人av网址在线观看| 日韩一区二区在线看| 亚洲欧洲日韩综合一区二区| 天天综合网 天天综合色| jizzjizzjizz欧美| 日韩欧美不卡在线观看视频| 中文字幕亚洲成人| 精品一区中文字幕| 久久免费电影网| 精品亚洲免费视频| 裸体健美xxxx欧美裸体表演| 9191久久久久久久久久久| 日本伊人色综合网| 中文无字幕一区二区三区| 欧美视频一区在线| 成人免费高清在线| 日韩精品一级二级| 国产精品萝li| 国产亚洲女人久久久久毛片| 日韩欧美一级二级三级久久久| 国产成人自拍网| 国产一区免费电影| 首页国产欧美久久| 亚洲国产视频a|