資源簡(jiǎn)介
以太網(wǎng)幀解析及CRC校驗(yàn),坑爹的實(shí)驗(yàn)二十字有木有

代碼片段和文件信息
using?System;
using?System.IO;
using?System.Collections.Generic;
using?System.Text;
namespace?Ethernetframe
{
????class?frame
????{
????????#region?幀的相關(guān)參數(shù)(私有)
????????private?byte[]?preamble;????????//前導(dǎo)碼+幀前定界符(8B)
????????private?byte[]?sourceAddress;???//源MAC地址(6B)
????????private?byte[]?destAddress;?????//目的MAC地址(6B)
????????private?Int16?length;???????????//幀長(zhǎng)度(2B)
????????private?byte[]?dataField;???????//數(shù)據(jù)(46~1500B)
????????private?byte?fcs;???????????????//幀校驗(yàn)字段(1B本程序采用8位CRC校驗(yàn))
????????private?string?fileName;????????//讀取和保存幀的文件
????????#endregion
????????#region?幀的相關(guān)參數(shù)(可見)
????????public?byte[]?Preamble
????????{???//幀頭是固定的,不允許對(duì)外開放
????????????get?{?return?preamble;?}
????????}
????????public?byte[]?SourceAddress
????????{
????????????get?{?return?sourceAddress;?}
????????????set?{?sourceAddress?=?value;?}
????????}
????????public?byte[]?DestAddress
????????{
????????????get?{?return?destAddress;?}
????????????set?{?destAddress?=?value;?}
????????}
????????public?Int16?Length
????????{
????????????get?{?return?length;?}
????????????set?{?length?=?value;?}
????????}
????????public?byte[]?DataField
????????{
????????????get?{?return?dataField;?}
????????????set?{?dataField?=?value;?}
????????}
????????public?byte?Fcs
????????{
????????????get?{?return?fcs;?}
????????????set?{?fcs?=?value;?}
????????}
????????public?string?FileName
????????{
????????????get?{?return?fileName;?}
????????????set?{?fileName?=?value;?}
????????}
????????#endregion
????????///?
????????///?幀的構(gòu)造函數(shù)
????????///?
????????public?frame()
????????{
????????????//由于幀頭是固定的,所以在構(gòu)造幀時(shí)即可填充
????????????preamble?=?new?byte[8]?{?0xAA?0xAA?0xAA?0xAA?0xAA?0xAA?0xAA?0xAB?};
????????????//源MAC地址默認(rèn)為00-16-76-B4-E4-77
????????????sourceAddress?=?new?byte[6]?{?0x00?0x16?0x76?0xB4?0xE4?0x77?};
????????????//目的MAC地址默認(rèn)為FF-FF-FF-FF-FF-FF
????????????destAddress?=?new?byte[6]?{?0xFF?0xFF?0xFF?0xFF?0xFF?0xFF};
????????}
????????///?
????????///?幀的解析
????????///?
????????public?void?Analyse()
????????{
????????????int?count;
????????????char[]?dataChars;
????????????byte?checkSum;
????????????string[]?dataStrings;
????????????string?checkResult?dataMessage;
????????????FileStream?fileStream;
????????????long?index?dataLength;
????????????BinaryReader?binaryReader;
????????????//安全性檢查,若文件不存在的話返回
????????????if?(!File.Exists(this.fileName))
????????????{
????????????????Console.WriteLine(string.Format(“請(qǐng)檢查文件{0}是否存在“?this.fileName));
????????????????return;
????????????}
????????????count?=?0;
????????????index?=?0;
????????????fileStream?=?new?FileStream(this.fileName?FileMode.Open);
????????????binaryReader?=?new?BinaryReader(fileStream);
????????????while?(index?????????????{???//找?guī)^
????????????????index?=?FindPreamble(binaryReader?index?fileStream.Length);
????????????????if?((index?+?14?)?>?fileStrea
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件?????184320??2010-10-17?19:00??2120100402_周建偉_第一次作業(yè)\Ethernetfr
?????文件??????26112??2010-10-17?19:00??2120100402_周建偉_第一次作業(yè)\Ethernetfr
?????文件???????5632??2005-11-11?22:25??2120100402_周建偉_第一次作業(yè)\Ethernetfr
?????文件???????2303??2007-06-04?17:03??2120100402_周建偉_第一次作業(yè)\Ethernetfr
?????文件???????2303??2009-09-25?16:52??2120100402_周建偉_第一次作業(yè)\Ethernetfr
?????文件????????397??2009-09-25?17:02??2120100402_周建偉_第一次作業(yè)\Ethernetfr
?????文件???????2124??2010-10-17?18:41??2120100402_周建偉_第一次作業(yè)\Ethernetfr
?????文件????????296??2010-10-17?10:53??2120100402_周建偉_第一次作業(yè)\Ethernetfr
?????文件??????16476??2010-10-17?19:00??2120100402_周建偉_第一次作業(yè)\Ethernetfr
?????文件?????323590??2010-10-17?18:41??2120100402_周建偉_第一次作業(yè)\Ethernetfr
?????文件?????184320??2010-10-17?19:00??2120100402_周建偉_第一次作業(yè)\Ethernetfr
?????文件??????26112??2010-10-17?19:00??2120100402_周建偉_第一次作業(yè)\Ethernetfr
?????文件????????333??2010-10-17?19:00??2120100402_周建偉_第一次作業(yè)\Ethernetfr
?????文件???????1373??2010-10-17?18:19??2120100402_周建偉_第一次作業(yè)\Ethernetfr
?????文件???????1219??2010-10-17?18:47??2120100402_周建偉_第一次作業(yè)\Ethernetfr
?????文件????????928??2010-10-16?09:41??2120100402_周建偉_第一次作業(yè)\Ethernetfr
????..A..H.?????16896??2010-10-17?18:47??2120100402_周建偉_第一次作業(yè)\Ethernetfr
?????文件?????115712??2010-10-17?18:34??2120100402_周建偉_第一次作業(yè)\Ethernet幀結(jié)構(gòu)解析程序.doc
?????文件?????????69??2010-10-17?19:05??2120100402_周建偉_第一次作業(yè)\exe\data
?????文件?????184320??2010-10-17?19:00??2120100402_周建偉_第一次作業(yè)\exe\Ethernetfr
?????文件???????2303??2009-09-25?16:52??2120100402_周建偉_第一次作業(yè)\exe\input1
?????文件????????397??2009-09-25?17:02??2120100402_周建偉_第一次作業(yè)\exe\input2
?????目錄??????????0??2010-10-17?19:04??2120100402_周建偉_第一次作業(yè)\Ethernetfr
?????目錄??????????0??2010-10-17?19:04??2120100402_周建偉_第一次作業(yè)\Ethernetfr
?????目錄??????????0??2010-10-17?19:04??2120100402_周建偉_第一次作業(yè)\Ethernetfr
?????目錄??????????0??2010-10-17?19:04??2120100402_周建偉_第一次作業(yè)\Ethernetfr
?????目錄??????????0??2010-10-17?19:04??2120100402_周建偉_第一次作業(yè)\Ethernetfr
?????目錄??????????0??2010-10-17?19:04??2120100402_周建偉_第一次作業(yè)\Ethernetfr
?????目錄??????????0??2010-10-17?19:04??2120100402_周建偉_第一次作業(yè)\Ethernetfr
?????目錄??????????0??2010-10-17?19:04??2120100402_周建偉_第一次作業(yè)\Ethernetfr
............此處省略5個(gè)文件信息
評(píng)論
共有 條評(píng)論