91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 8KB
    文件類型: .cpp
    金幣: 2
    下載: 1 次
    發(fā)布日期: 2021-07-23
  • 語言: C/C++
  • 標簽: WinPCAP??FTP??

資源簡介

用 WinPCAP 監(jiān)聽并分析 FTP 協(xié)議并記錄 IP、用戶名、密碼和登陸是否 成功

資源截圖

代碼片段和文件信息

#define?_CRT_SECURE_NO_WARNINGS
#define?HAVE_REMOTE
#include?
#include?
#include?
#include?
#include?
#pragma?comment(lib?“Packet“)
#pragma?comment(lib?“wpcap“)
#pragma?comment(lib?“WS2_32“)

u_char?user[20];//用戶名
u_char?pass[20];//密碼
//TCP首部
typedef?struct?tcp_header
{
u_short?sport;//源程序的端口號
u_short?dsport;//目的程序的端口號
u_int?seq;//序列號?SN
u_int?ack_num;//確認號
u_char?ihl;?//Internet?頭部長度
u_char?frame;
u_short?wsize;//窗口大小
u_short?crc;?//check?sum
u_short?urg;
}tcp_header;
/*?IPv4?首部?*/
typedef?struct?ip_header?{
u_char?ver_ihl;?//?Version?(4?bits)?+Internet?header?length?(4?bits)
u_char?tos;?//?Type?of?service
u_short?tlen;?//?Total?length
u_short?identification;?//?Identification
u_short?flags_fo;?//?Flags?(3?bits)?+?Fragmentoffset?(13?bits)
u_char?ttl;?//?Time?to?live
u_char?proto;?//?Protocol
u_short?crc;?//?Header?checksum
u_char?saddr[4];?//?Source?address
u_char?daddr[4];?//?Destination?address
u_int?op_pad;?//?Option?+?Padding
}?ip_header;

//以太網的幀格式
typedef?struct?mac_header?{
u_char?dest_addr[6];
u_char?src_addr[6];
u_char?type[2];
}?mac_header;

/*?回調函數(shù)原型?*/
void?packet_handler(u_char?*param?const?struct?pcap_pkthdr?*header?const?u_char?*pkt_data);

int?main()
{
pcap_if_t?*alldevs;
pcap_if_t?*d;
int?inum;
int?i?=?0;
pcap_t?*adhandle;
char?errbuf[PCAP_ERRBUF_SIZE];
u_int?netmask;


/*
過濾的規(guī)則
*/
char?packet_filter[]?=?“port?21“;//ftp的端口是21


struct?bpf_program?fcode;

/*?獲得設備列表?*/
if?(pcap_findalldevs_ex(PCAP_SRC_IF_STRING?NULL?&alldevs?errbuf)?==?-1)
{
fprintf(stderr?“Error?in?pcap_findalldevs:?%s\n“?errbuf);
exit(1);
}

/*?打印列表?*/
for?(d?=?alldevs;?d;?d?=?d->next)
{
printf(“%d.?%s“?++i?d->name);
if?(d->description)
printf(“?(%s)\n“?d->description);
else
printf(“?(No?description?available)\n“);
}

if?(i?==?0)
{
printf(“\nNo?interfaces?found!?Make?sure?WinPcap?is?installed.\n“);
return?-1;
}

printf(“Enter?the?interface?number?(1-%d):“?i);
scanf(“%d“?&inum);

if?(inum??i)
{
printf(“\nInterface?number?out?of?range.\n“);
/*?釋放設備列表?*/
pcap_freealldevs(alldevs);
return?-1;
}

/*?跳轉到已選設備?*/
for?(d?=?alldevs?i?=?0;?inext?i++);

/*?打開適配器?*/
if?((adhandle?=?pcap_open(d->name??//?設備名
65536?????//?要捕捉的數(shù)據包的部分?
???//?65535保證能捕獲到不同數(shù)據鏈路層上的每個數(shù)據包的全部內容
PCAP_OPENFLAG_NOCAPTURE_LOCAL?????????//?混雜模式
1000??????//?讀取超時時間
NULL??????//?遠程機器驗證
errbuf?????//?錯誤緩沖池
))?==?NULL)
{
fprintf(stderr?“\nUnable?to?open?the?adapter.?%s?is?not?supported?by?WinPcap\n“);
/*?釋放設備列表?*/
pcap_freealldevs(alldevs);
return?-1;
}

/*?檢查數(shù)據鏈路層,為了簡單,我們只考慮以太網?*/
if?(pcap_datalink(adhandle)?!=?DLT_EN10MB)
{
fprintf(stderr?“\nThis?program?works?only?on?Ethernet?networks.\n“);
/*?釋放設備列表?*/
pcap_freealldevs(alldevs);
return?-1;
}

if?(d->

評論

共有 條評論