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

  • 大小: 2.63MB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發布日期: 2023-10-27
  • 語言: 其他
  • 標簽: c++??

資源簡介

基于C++和winpcap編寫的網絡程序,實現監聽并解析IP數據包! 運行程序,按提示輸入要選擇的網卡序列,再次輸入需要不活的IP數據包的個數,然后程序自動運行捕獲。 捕獲后開始解析,從數據鏈路層開始解析, 1) 如果網絡層協議是IP協議,則開始解析網絡層IP數據包。 2) 如果運輸層協議是TCP協議則解析運輸層TCP數據包。 3) 如果網絡層協議是APP協議,則不在進一步解析網絡層數據包。 4) 如果運輸層協議是UDP協議,則不在進一步解析運輸層數據包。

資源截圖

代碼片段和文件信息

#include?
#include
#include?“pcap.h“
#include?“stdio.h“
#include
#include?
#include???//文件的輸入輸出;
#pragma?comment(lib“ws2_32.lib“)
#pragma?comment(lib“wpcap.lib“)
using?namespace?std;

/*下邊是以太網的協議格式?*/
struct?ethernet_header
?{?
u_int8_t?ether_dhost[6];??/*目的以太地址*/
u_int8_t?ether_shost[6];??/*源以太網地址*/
u_int16_t?ether_type;??????/*以太網類型*/
?};

/*ip地址格式*/
typedef?u_int32_t?in_addr_t;

struct?ip_header
?{
#ifdef?WORKS_BIGENDIAN
??u_int8_t?ip_version:4????/*version:4*/
???????ip_header_length:4;?/*IP協議首部長度Header?Length*/
#else
?u_int8_t?ip_header_length:4
???????ip_version:4;
#endif
?u_int8_t?ip_tos;?????????/*服務類型Differentiated?Services??Field*/
?u_int16_t?ip_length;??/*總長度Total?Length*/
?u_int16_t?ip_id;?????????/*標識identification*/
?u_int16_t?ip_off;????????/*片偏移*/
?u_int8_t?ip_ttl;????????????/*生存時間Time?To?Live*/
?u_int8_t?ip_protocol;????????/*協議類型(TCP或者UDP協議)*/
?u_int16_t?ip_checksum;??/*首部檢驗和*/
????????struct?in_addr??ip_source_address;?/*源IP*/
????????struct?in_addr??ip_destination_address;?/*目的IP*/
?};

/*關于tcp頭部的定義*/
struct?tcp_header
?{?
??u_int16_t?tcp_source_port; ??//源端口號
??
??u_int16_t?tcp_destination_port; //目的端口號
??
??u_int32_t?tcp_acknowledgement; //序號
??
??u_int32_t?tcp_ack; //確認號字段
?#ifdef?WORDS_BIGENDIAN
??u_int8_t?tcp_offset:4?
?????tcp_reserved:4;
?#else
??u_int8_t?tcp_reserved:4
?????tcp_offset:4;
?#endif
??u_int8_t?tcp_flags;
??u_int16_t?tcp_windows; //窗口字段
??u_int16_t?tcp_checksum; //檢驗和
??u_int16_t?tcp_urgent_pointer; //緊急指針字段
};

/*下邊實現tcp數據包分析的函數定義tcp_protocol_packet_callback*/
void?tcp_protocol_packet_callback(u_char?*argumentconst?struct?pcap_pkthdr*
packet_headerconst?u_char*?packet_content)
{
?struct?tcp_header?*tcp_protocol?;?????/*tcp協議變量*/
?u_char?flags; ??/*標記*/
?int?header_length; ??/*頭長度*/
?u_short?source_port; ???/*源端口*/
?u_short?destination_port;???/*目的端口*/
?u_short?windows; /*窗口大小*/
?u_short?urgent_pointer; ?/*緊急指針*/
?u_int?sequence; ?/*序列號*/
?u_int?acknowledgement;???/*確認號*/
?u_int16_t???checksum;???????/*檢驗和*/
?tcp_protocol=(struct?tcp_header?*)?(packet_content+14+20);??/*獲得tcp首部內容*/
?source_port?=ntohs(tcp_protocol->tcp_source_port); ??/*獲得源端口號*/
?destination_port?=ntohs(tcp_protocol->tcp_destination_port);?/*獲得目的端口號*/
?header_length?=tcp_protocol->tcp_offset?*4; /*獲得首部長度*/
?sequence?=ntohl(tcp_protocol->tcp_acknowledgement); /*獲得序列號*/
?acknowledgement?=ntohl(tcp_protocol->tcp_ack);
?windows?=?ntohs(tcp_protocol->tcp_windows);
?urgent_pointer?=?ntohs(tcp_protocol->tcp_urgent_pointer);
?flags?=?tcp_protocol->tcp_flags;
?checksum?=ntohs?(tcp_protocol->tcp_checksum);
?printf(“\n========== 運輸層(TCP協議) ==========\n“);
?printf(“源端口:\t?%d\n“source_port);
?printf(“目的端口:\t?%d\n“destination_port);

?int?min=?(?destination_port? ?cout<<“應用層協議是:\t“;
?switch?(min)
???{

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2019-01-01?20:31??解析IP數據包\
?????目錄???????????0??2019-01-01?20:31??解析IP數據包\Debug\
?????文件??????205824??2018-12-28?10:50??解析IP數據包\Debug\vc60.idb
?????文件??????143360??2018-12-28?10:50??解析IP數據包\Debug\vc60.pdb
?????文件??????553057??2018-12-28?10:50??解析IP數據包\Debug\解析IP數據包.exe
?????文件??????808332??2018-12-28?10:50??解析IP數據包\Debug\解析IP數據包.ilk
?????文件??????364721??2018-12-28?10:43??解析IP數據包\Debug\解析IP數據包.log
?????文件??????222617??2018-12-28?10:50??解析IP數據包\Debug\解析IP數據包.obj
?????文件?????5465812??2018-12-27?19:57??解析IP數據包\Debug\解析IP數據包.pch
?????文件?????1131520??2018-12-28?10:50??解析IP數據包\Debug\解析IP數據包.pdb
?????文件???????72616??2018-12-27?23:32??解析IP數據包\TCP_1995.jpg
?????文件???????49008??2018-12-27?23:32??解析IP數據包\UDP_2000.jpg
?????文件??????157493??2018-12-28?10:11??解析IP數據包\外網.jpg
?????文件???????57558??2018-12-27?23:36??解析IP數據包\網絡層協議.jpg
?????文件???????10029??2018-12-28?11:58??解析IP數據包\解析IP數據包.cpp
?????文件????????3475??2018-12-28?10:50??解析IP數據包\解析IP數據包.dsp
?????文件?????????532??2018-12-28?11:23??解析IP數據包\解析IP數據包.dsw
?????文件??????111536??2018-12-27?23:34??解析IP數據包\解析IP數據包.jpg
?????文件???????41984??2018-12-28?11:23??解析IP數據包\解析IP數據包.ncb
?????文件???????48640??2018-12-28?11:23??解析IP數據包\解析IP數據包.opt
?????文件????????1211??2018-12-28?10:50??解析IP數據包\解析IP數據包.plg

評論

共有 條評論

相關資源