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

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

?? main.c

?? 監(jiān)視PC機上所有界面的連接活動
?? C
字號:
#include "main.h"#define DEBUG 0int just_list=0, inGB=0, inKB=0, mon=0;char *make_string(char *str) { // converts bt->kb->mb->gb	long long num = atoll(str); // for BIG values 	if (inGB)		sprintf(str,"%.2f GB ",num/1024./1024/1024);	else if(inKB)		sprintf(str,"%.2f KB ",num/1024.);	else		sprintf(str,"%.2f MB ",num/1024./1024);	return str;}void trim(char *str) {	char *p = (char *)str;	while (*p==' ') p++;	strcpy(str,p);}void parsebuf(char *str) { // parses the input and leaves only digits	char newstr[40],*p = (char *)str;	int i=0;	for (;isdigit(*p);i++,p++) 		newstr[i]=*p;	newstr[i]='\0';	strcpy(str,newstr);}void readfile(char *buf, char *dev, char *file) { // read info from file	char path[80]="/sys/class/net/";	FILE *fp;	strcat(strcat(strcat(path,dev),"/statistics/"),file); // create filepath	if ((fp=fopen(path,"r"))!=NULL) {		fread(buf,20,1,fp); // read 		fclose(fp);		parsebuf(buf); // parse	} else strcpy(buf,"0");}void newprint(char *str) {	// more ellegant way to obtain data	char dev[16], *p=(char*)str, nstr[100], temp[30];	int i=0;	for (;*p!=':';p++,i++)		dev[i]=*p; // interface name	dev[i]='\0';	if (just_list) {		puts(dev); // list and exit		return;	}	strcat(strcpy(nstr,dev),"\nReceived: "); // concatenate interface, new line and "Received: "	readfile(temp,dev,"rx_bytes"); // Read received	strcat(strcat(nstr,make_string(temp)),"("); // concatenate (with conversion to KB,MB,GB) + open bracket for packets	readfile(temp,dev,"rx_packets"); // Read received packets	strcat(strcat(nstr,temp)," packets)\nSent: "); // concatenate packets, close bracket, new line + Sent: 	readfile(temp,dev,"tx_bytes"); // Read sent	strcat(strcat(nstr,make_string(temp)),"("); // concatenate (with conversion) + open bracket	readfile(temp,dev,"tx_packets"); // Read sent packets	strcat(strcat(nstr,temp)," packets)"); // concatenate packets, close bracket	puts(nstr);}void show_help(void) {	puts("Usage:");	puts("\tconstat [OPTIONS] <interface>");	puts("\tExample:");	puts("\t         constat eth0 -- show info for eth0");	puts("\t         constat ppp  -- show info for interfaces, matching ppp*");	puts("\t         constat all  -- show info for all available interfaces");	puts("\tOptions:");	puts("\t         -a   -- the same as for 'all'");	puts("\t         -g   -- show sent/received in GB");	puts("\t         -h   -- show help and exit (the same as --help)");	puts("\t         -k   -- show sent/received in KB");	puts("\t         -l   -- show the list of available interfaces ");	puts("\t         -m   -- monitors activity (endless 5-second timer)");	puts("\t         -v   -- show version and exit (the same as --version)");	puts("\t--help    - show this help and exit");	puts("\t--version - show version and exit");	}void show_version(void) {	printf("Current version: %s\n",VERSION);}int parse_args(char *dev) { // parse arguments	if (!strcmp(dev,"--version") || !strcmp(dev,"-v")) { // show version info and exit		show_version();		return 0;	}		if (!strcmp(dev,"--help") || !strcmp(dev,"-h")) { // show help and exit		show_help();		return 0;	}		if (!strcmp(dev,"-l")) { // list all, setting just_list (show only devnames) and then set to 'all'		just_list=1;		strcpy(dev,"all");	}		if (!strcmp(dev,"-a")) // show info for all devices		strcpy(dev,"all");		if (!strcmp(dev,"-g")) // show sent/recieved in GB		inGB=1;		if (!strcmp(dev,"-k")) // show sent/revieved in KB		inKB=1;		if (!strcmp(dev,"-m")) 		mon=1;		return 1;}int main(int argc,char *argv[]) {	char dev[15],filename[]="/proc/net/dev",data[257];	FILE *fp;	int i=0, found_flag=0, cont;	if (argc==1) { // if interface is not specified		if (DEBUG) { // may be useful for debugging			puts("Choose interface ('all' to list all data): "); gets(dev);		} else {			show_help();			return 0;		}	} else	strcpy(dev,argv[1]);	cont = parse_args(dev);	if (argc>2) { // more than one argument specified		if (strncmp(dev,"-",1)) {			show_help();			return 0;		}		strcpy(dev,argv[2]);	}		if (!cont) return 0;	if (mon) { // monitoring, starts an endless timer that shows info for the specified device		strcat(strcat(argv[0]," "),dev);		while(1) {			system("clear");			system(argv[0]);			sleep(5);						}	}	if ((fp = fopen(filename,"r"))!=NULL) { // opening /proc/net/dev		for (;i<2;i++) fgets(data,256,fp); //scroll 2 first lines		while(fgets(data,256,fp)) { // iterating over the file to find what we need			trim(data);	// remove whitespaces from the beginning of the line			if (!strcmp(dev,"all")) 				newprint(data);  // if we chose 'all' then we print info for every device			else 				if (!strncmp(data,dev,strlen(dev)))					newprint(data); // otherwise we compare the device and decide whether to show it or not			if (!strcmp(dev,"all") || !strncmp(data,dev,strlen(dev))) 				found_flag=1; // if we have found what we need, set the flag to 1		}		if(!found_flag) puts("Error: interface not found"); // if nothing found - error		fclose(fp);	} else puts("Error: failed to obtain data"); // failed to open	return 0;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美激情一区二区三区| 久久99久久99| 亚洲精品欧美专区| 亚洲免费色视频| 亚洲欧美日韩国产综合| 亚洲欧美日韩一区二区 | 亚洲免费色视频| 亚洲理论在线观看| 亚洲二区在线观看| 日本中文字幕一区二区视频| 欧美aaaaaa午夜精品| 久久91精品国产91久久小草| 国产精品88888| 91亚洲精品久久久蜜桃网站| 91亚洲精品久久久蜜桃| 欧美色视频在线| 欧美一区三区四区| 久久久久久久久久美女| 亚洲国产高清在线观看视频| 亚洲精品美腿丝袜| 偷拍日韩校园综合在线| 激情成人综合网| 国产精品18久久久| 色婷婷久久综合| 在线成人av网站| 国产亚洲人成网站| 亚洲精品乱码久久久久久| 日本亚洲最大的色成网站www| 久久福利资源站| 不卡视频一二三四| 欧美日韩三级视频| 久久一区二区三区四区| 自拍偷拍欧美激情| 5566中文字幕一区二区电影| 高清不卡在线观看| 色伊人久久综合中文字幕| 欧美日韩国产综合视频在线观看| 日韩久久久精品| 中文字幕永久在线不卡| 日韩精品亚洲专区| 国产精品18久久久久久久久| 91在线播放网址| 欧美一级日韩免费不卡| 中文字幕不卡在线观看| 视频精品一区二区| 国产精品1024久久| 欧美日韩一区二区三区视频| 久久综合久色欧美综合狠狠| 一区二区三区精品视频| 精品一区二区精品| 欧洲一区二区三区免费视频| 欧美精品一区二区三区蜜桃视频| 日韩伦理电影网| 精品中文字幕一区二区| 在线视频综合导航| 国产日韩欧美一区二区三区乱码| 亚洲小说欧美激情另类| 成人不卡免费av| 日韩欧美色电影| 亚洲国产精品一区二区久久| 国产不卡免费视频| 日韩精品专区在线影院重磅| 亚洲美女在线国产| 国产成人免费9x9x人网站视频| 欧美年轻男男videosbes| 综合色天天鬼久久鬼色| 国产一区视频导航| 欧美猛男男办公室激情| 亚洲日本成人在线观看| 国产精品中文有码| 日韩欧美激情在线| 天堂在线一区二区| 在线精品视频免费播放| 一区精品在线播放| 成人一区二区三区视频 | 国产精品网站一区| 久久精品国产亚洲a| 欧美日韩中文字幕一区二区| 中文字幕一区二区三区视频| 国产伦精品一区二区三区在线观看| 91精品国产色综合久久不卡电影| 有码一区二区三区| 99久久免费精品高清特色大片| 久久久国际精品| 国产毛片一区二区| 久久亚洲精精品中文字幕早川悠里 | 91福利精品视频| 国产精品毛片久久久久久| 国产精品一区二区三区乱码 | 午夜久久久影院| 日本道精品一区二区三区| 国产精品国产三级国产aⅴ原创| 国产精品69久久久久水密桃| 欧美精品一区二区三区很污很色的| 免费看日韩精品| 日韩欧美一区在线| 久久99精品视频| 欧美成人伊人久久综合网| 蜜乳av一区二区三区| 日韩欧美中文字幕制服| 精彩视频一区二区| 欧美精品一区二区在线观看| 国产乱妇无码大片在线观看| 国产欧美日韩在线观看| 成人免费毛片a| 亚洲欧美色图小说| 欧美午夜影院一区| 亚洲福利视频三区| 欧美高清视频一二三区| 免费观看久久久4p| 久久奇米777| 国产凹凸在线观看一区二区| 亚洲素人一区二区| 欧美图区在线视频| 三级亚洲高清视频| 欧美mv日韩mv国产| 国产成人免费视频| 综合自拍亚洲综合图不卡区| 欧美午夜精品一区二区三区| 日本系列欧美系列| 亚洲精品一区二区三区香蕉 | 国产精品久久久久影院老司| 91浏览器在线视频| 五月天一区二区三区| 欧美电影免费提供在线观看| 成人精品视频一区二区三区| 亚洲精品免费视频| 日韩欧美一二三区| www.日韩大片| 日日夜夜一区二区| 久久精品欧美一区二区三区不卡| 99视频一区二区三区| 三级亚洲高清视频| 中文字幕第一区| 欧美视频一区在线| 国内精品免费**视频| 中文字幕在线一区二区三区| 欧美日韩精品一区二区天天拍小说 | 久久久噜噜噜久噜久久综合| 99精品国产99久久久久久白柏 | 欧美日韩你懂得| 国产剧情一区二区| 亚洲一区二区精品视频| 精品国产乱码久久久久久老虎 | 精品国产乱码91久久久久久网站| av动漫一区二区| 日本vs亚洲vs韩国一区三区| 国产拍揄自揄精品视频麻豆| 欧美色电影在线| 国产成人免费视频网站| 日日夜夜精品视频天天综合网| 国产午夜一区二区三区| 在线视频一区二区免费| 国产成人综合在线| 亚洲成av人影院| 国产精品国产三级国产普通话蜜臀| 51精品视频一区二区三区| 亚洲综合在线免费观看| 国产香蕉久久精品综合网| 91美女在线视频| 国内精品国产成人| 亚洲综合999| 国产网红主播福利一区二区| 欧美猛男男办公室激情| 91在线视频官网| 国产一区二区三区免费播放| 午夜一区二区三区在线观看| 一色桃子久久精品亚洲| 26uuu另类欧美| 国产日韩欧美高清| 欧美日韩国产在线播放网站| av综合在线播放| 精品一区二区三区的国产在线播放| 亚洲五码中文字幕| 亚洲欧美日韩综合aⅴ视频| 国产亚洲va综合人人澡精品| 欧美一级理论片| 欧美日韩不卡一区| 97久久精品人人做人人爽50路| 国产麻豆精品theporn| 久久国产精品第一页| 五月婷婷另类国产| 亚洲一区精品在线| 一区免费观看视频| 国产精品三级电影| 久久综合色综合88| 26uuu亚洲综合色| 日韩一级黄色大片| 欧美精品免费视频| 欧美日韩精品欧美日韩精品| 日本韩国欧美三级| 91丨porny丨户外露出| 亚洲另类色综合网站| 欧美国产日本视频| 久久精品视频网| 久久精品视频免费| 国产欧美一区二区三区在线看蜜臀 | 精品一区二区三区欧美| 久久精品国产亚洲aⅴ| 蜜桃av噜噜一区二区三区小说|