⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rawsniffer.cpp

📁 Sniffer using Sock_raw. 挺不错的。
💻 CPP
字号:
/*===============================================================================================
RawSniffer V1.0 powered by shadow
2004/11/18
my web:http://www.codehome.6600.org
has bugs please mail to:dreamshadow@mail.sdu.edu.cn
Usage:
    RSniffer -p TCP -si 202.194.4.218 -sp 21 -di 202.194.4.238 -dp 58 -o f:\sniffer.txt -w 1 -m 1
    Rsniffer -s -o f:\smtppopsniffer.dat
-si SourceIp     -di DestIp       * all
-sp SourcePort   -dp DestPort     * all
-p  Protocol [TCP,UDP,ICMP] to sniffing, Write Uppercase
-w  Sniffing Mode, 1: one-directional sniffing[si->di], 0: bi-directional sniffing[si<->di]
-m  Log File Maximum Size,in MB unit
-o  Output File
-s  Autosniffing smtp,pop Logon session
=================================================================================================*/
#include "stdafx.h"
#include "SNIFFER.h"
//
typedef struct _USERINFO
{
	CString ProtoType;
	CString sourceip;
	CString sourceport;
	CString destip;
	CString destport;
	int		SelfSnifferStartFlag;
	int		SnifferStartFlag;
	int		Way;
	char	SnifferDataPath[MAX_PATH];
	char	SelfSnifferDataPath[MAX_PATH];
	int MaxData;
}USERINFO,LPUSERINFO;

extern USERINFO userinfo;

//
void ShowHelp()
{
	printf("RawSniffer V1.0\r\nPowered by shadow @2004/11/18\r\nmy web:http://www.codehome.6600.org\r\nHas bugs please mail to:dreamshadow@mail.sdu.edu.cn\r\n");
	printf("Usage:\r\n");
	printf(" rawsniffer -p TCP -si 202.194.1.1 -sp 21 -di 202.194.1.2 -dp 58 -w 1 -m 1 -o f:\\1.txt\r\n");
	printf(" rawsniffer -s -o f:\\smtppopsniffer.dat\r\n");
	printf("-si SourceIp     -di DestIp       * all\r\n");
	printf("-sp SourcePort   -dp DestPort     * all\r\n");
	printf("-w  Sniffing Mode, 1: one-directional sniffing[si->di], 0: bi-directional sniffing[si<->di]\r\n");
	printf("-p  Protocol [TCP,UDP,ICMP] to sniffing, Write Uppercase\r\n");
	printf("-m  Log File Maximum Size,in MB unit\r\n");
	printf("-o  Output File\r\n");
	printf("-s  Autosniffing smtp,pop Logon session\r\n");
}



//
int main(int argc, char* argv[])
{
    SNIFFER rsniffer;
	CString proto,si,sp,di,dp,fpath;
	int way,maxdata;
    if	(argc!=17 && argc!=4)
	{
       ShowHelp();
	   return 0;
	}
    if	(argc==4)
	{
	   if	((strcmp(argv[1], "-s")==0) && (strcmp(argv[2], "-o")==0))
	   {
		  printf("Smtp and Pop sniffer is running ....\r\nPlease press ctrl+c to end program\r\n");
		  fpath.Format("%s",argv[3]);
		  rsniffer.Start();
		  rsniffer.StartSniffer(fpath);
	   }
	   else
	   {
		   ShowHelp();
		   return 0;
	   }
	}
	if	(argc==17)
	{
	   if	((strcmp(argv[1],"-p")==0) && (strcmp(argv[3],"-si")==0) && (strcmp(argv[5],"-sp")==0) && (strcmp(argv[7],"-di")==0) && (strcmp(argv[9],"-dp")==0) && (strcmp(argv[11],"-w")==0) && (strcmp(argv[13],"-m")==0) && (strcmp(argv[15],"-o")==0))
	   {
		  proto.Format("%s", argv[2]);
		  si.Format("%s", argv[4]);
		  sp.Format("%s", argv[6]);
		  di.Format("%s", argv[8]);
		  dp.Format("%s", argv[10]);
		  way = atoi(argv[12]);
	      maxdata = atoi(argv[14]);
		  fpath.Format("%s", argv[16]);
		  printf("Self Sniffer start...\r\nPlease press ctrl+c to end program...\r\nAfter 3s,sniffing is started...\r\n");
		  Sleep(3000);
		  printf("Sniffer is running...\r\n");
		  rsniffer.Start();
          rsniffer.StartSelfDefineSniffer(proto,si,sp,di,dp,way,maxdata,fpath);
		}
		else
		{
		  ShowHelp();
		  return 0;
		}
	}
	while(true)
	{
	  Sleep(100);
	}	  
	return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -