提供乙個讀取CAP檔案的類

2021-08-22 06:35:33 字數 1355 閱讀 5392

capfilereader類使用說明

功能:讀取ethreal生成的cap格式的檔案內的資訊

介面說明

capfilereader(void);  //預設建構函式

~capfilereader(void);  //析構函式

bool open(const char* capfile);  //開啟cap檔案,引數為檔案的路徑

bool read();  //讀取下乙個資料段,達到檔案末尾返回false

void close();  //關閉cap檔案的讀取

inline unsigned short datalength() const;  //得到當前資料段的資料長度,要先呼叫read()方法

bool getsourcemacaddr(char* buffer, int length);  //得到當前資料段的源網絡卡實體地址,要先呼叫read()方法

bool getdestmacaddr(char* buffer, int length);  //得到當前資料段的目的網絡卡實體地址,要先呼叫read()方法

bool getipheader(ip_header& ip);  //假設當前資料段的協議是ip協議,獲得ip協議的頭資訊,要先呼叫read()方法

bool getipdata(int headlen, char* buffer, int length);  //假設當前的資料段的協議是ip協議,獲得ip協議的內容,要先呼叫read()方法

bool getinternetdata(char* buffer, int length);  //得到internet協議的內容,包括arp、ip等,要先呼叫read()方法

inline time_t getstarttime() const;  //得到開始抓包的時間

inline unsigned int getmicrosecond() const;  //得到當前資料段相對開始抓包時間的微秒數,要先呼叫read()方法

inline unsigned short getinternetprotocol() const;  //得到當前資料段的協議標識,要先呼叫read()方法

使用示例:

capfilereader cap;

if (!cap.open("1.cap"))

ip_header ip;

while (cap.read())

if (ip.proto == protocol_tcp)

else if (ip.proto == protocol_udp)

else

}else if (cap.getinternetprotocol()==protocol_arp))

else

}cap.close();

17 18 實現乙個讀取INI檔案的類

開發環境 vs2013,win10 經過很多次修改,和對一些錯誤的學習,才搞定了這麼乙個類 比如說lpctstr的賦值,new和delete要成對出現,字元陣列和字串的庫函式去取代自己寫字串處理函式等,wcsncpy s用法,string類的賦值運算子等。標頭檔案 對文字的處理要求 號之前強制為整數...

從乙個檔案讀取資料

從乙個檔案讀取資料,想必都會。比如舉乙個簡單的例子。下面這個函式,就是從檔案讀取所有資料,一行一行讀取,資料存在des這個陣列中 int getstringfromfile file fp char ch int i 0 int j while feof fp des i 0 return 0 當然...

乙個檔案加密類

using system using system.io using system.security.cryptography using system.xml namespace hxh.api this.iv new byte get the key and iv.讀取加密檔案到流 public...