资源简介
以太网帧解析及CRC校验,坑爹的实验二十字有木有
代码片段和文件信息
using System;
using System.IO;
using System.Collections.Generic;
using System.Text;
namespace Ethernetframe
{
class frame
{
#region 帧的相关参数(私有)
private byte[] preamble; //前导码+帧前定界符(8B)
private byte[] sourceAddress; //源MAC地址(6B)
private byte[] destAddress; //目的MAC地址(6B)
private Int16 length; //帧长度(2B)
private byte[] dataField; //数据(46~1500B)
private byte fcs; //帧校验字段(1B本程序采用8位CRC校验)
private string fileName; //读取和保存帧的文件
#endregion
#region 帧的相关参数(可见)
public byte[] Preamble
{ //帧头是固定的,不允许对外开放
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
///
/// 帧的构造函数
///
public frame()
{
//由于帧头是固定的,所以在构造帧时即可填充
preamble = new byte[8] { 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAA 0xAB };
//源MAC地址默认为00-16-76-B4-E4-77
sourceAddress = new byte[6] { 0x00 0x16 0x76 0xB4 0xE4 0x77 };
//目的MAC地址默认为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(“请检查文件{0}是否存在“ this.fileName));
return;
}
count = 0;
index = 0;
fileStream = new FileStream(this.fileName FileMode.Open);
binaryReader = new BinaryReader(fileStream);
while (index < fileStream.Length)//遍历整个文件
{ //找帧头
index = FindPreamble(binaryReader index fileStream.Length);
if ((index + 14 ) > fileStrea
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 184320 2010-10-17 19:00 2120100402_周建伟_第一次作业\Ethernetfr
文件 26112 2010-10-17 19:00 2120100402_周建伟_第一次作业\Ethernetfr
文件 5632 2005-11-11 22:25 2120100402_周建伟_第一次作业\Ethernetfr
文件 2303 2007-06-04 17:03 2120100402_周建伟_第一次作业\Ethernetfr
文件 2303 2009-09-25 16:52 2120100402_周建伟_第一次作业\Ethernetfr
文件 397 2009-09-25 17:02 2120100402_周建伟_第一次作业\Ethernetfr
文件 2124 2010-10-17 18:41 2120100402_周建伟_第一次作业\Ethernetfr
文件 296 2010-10-17 10:53 2120100402_周建伟_第一次作业\Ethernetfr
文件 16476 2010-10-17 19:00 2120100402_周建伟_第一次作业\Ethernetfr
文件 323590 2010-10-17 18:41 2120100402_周建伟_第一次作业\Ethernetfr
文件 184320 2010-10-17 19:00 2120100402_周建伟_第一次作业\Ethernetfr
文件 26112 2010-10-17 19:00 2120100402_周建伟_第一次作业\Ethernetfr
文件 333 2010-10-17 19:00 2120100402_周建伟_第一次作业\Ethernetfr
文件 1373 2010-10-17 18:19 2120100402_周建伟_第一次作业\Ethernetfr
文件 1219 2010-10-17 18:47 2120100402_周建伟_第一次作业\Ethernetfr
文件 928 2010-10-16 09:41 2120100402_周建伟_第一次作业\Ethernetfr
..A..H. 16896 2010-10-17 18:47 2120100402_周建伟_第一次作业\Ethernetfr
文件 115712 2010-10-17 18:34 2120100402_周建伟_第一次作业\Ethernet帧结构解析程序.doc
文件 69 2010-10-17 19:05 2120100402_周建伟_第一次作业\exe\data
文件 184320 2010-10-17 19:00 2120100402_周建伟_第一次作业\exe\Ethernetfr
文件 2303 2009-09-25 16:52 2120100402_周建伟_第一次作业\exe\input1
文件 397 2009-09-25 17:02 2120100402_周建伟_第一次作业\exe\input2
目录 0 2010-10-17 19:04 2120100402_周建伟_第一次作业\Ethernetfr
目录 0 2010-10-17 19:04 2120100402_周建伟_第一次作业\Ethernetfr
目录 0 2010-10-17 19:04 2120100402_周建伟_第一次作业\Ethernetfr
目录 0 2010-10-17 19:04 2120100402_周建伟_第一次作业\Ethernetfr
目录 0 2010-10-17 19:04 2120100402_周建伟_第一次作业\Ethernetfr
目录 0 2010-10-17 19:04 2120100402_周建伟_第一次作业\Ethernetfr
目录 0 2010-10-17 19:04 2120100402_周建伟_第一次作业\Ethernetfr
目录 0 2010-10-17 19:04 2120100402_周建伟_第一次作业\Ethernetfr
............此处省略5个文件信息
评论
共有 条评论