資源簡介
之前的版本傳錯了,只有ipv4。此版本可以抓取ipv4和ipv6數據包
代碼片段和文件信息
//?ARPPacket.cpp:?implementation?of?the?CARPPacket?class.
//
//////////////////////////////////////////////////////////////////////
#include?“stdafx.h“
#include?“ARPPacket.h“
CARPPacket::CARPPacket()
{
}
CARPPacket::~CARPPacket()
{
}
CARPPacket::CARPPacket(const?unsigned?char?*bufconst?unsigned?int?buflen)
{
unsigned?char?*pos=(unsigned?char?*)buf;
m_nHaddrtype=(*pos)*0x100+(*(pos+1));
pos+=2;
m_nPaddrtype=(*pos)*0x100+(*(pos+1));
pos+=2;
m_nHaddrlen=(*pos);
pos++;
m_nPaddrlen=(*pos);
pos++;
m_nOperation=(*pos)*0x100+(*(pos+1));
pos+=2;
for(int?i=0;i<6;i++)
{
m_cSHaddr[i]=BYTE(*pos);
pos++;
}
m_nSPaddr=(*pos)*0x1000000+(*(pos+1))*0x10000+(*(pos+2))*0x100+(*(pos+3));
pos+=4;
for(i=0;i<6;i++)
{
m_cDHaddr[i]=BYTE(*pos);
pos++;
}
m_nDPaddr=(*pos)*0x1000000+(*(pos+1))*0x10000+(*(pos+2))*0x100+(*(pos+3));
}
CString?CARPPacket::GetSPAddr()
{
CString?str;
unsigned?char?*p;
p=(unsigned?char?*)&m_nSPaddr;
str.Format(“%003u.%003u.%003u.%003u“p[3]p[2]p[1]p[0]);
return?str;
}
CString?CARPPacket::GetDPAddr()
{
CString?str;
unsigned?char?*p;
p=(unsigned?char?*)&m_nDPaddr;
str.Format(“%003u.%003u.%003u.%003u“p[3]p[2]p[1]p[0]);
return?str;
}
CString?CARPPacket::GetHaddrtype()
{
return?GetData(m_nHaddrtype);//硬件地址類型?
}
CString?CARPPacket::GetPaddrtype()
{
return?GetData(m_nPaddrtype);//協議地址類型
}
CString?CARPPacket::GetHaddrlen()
{
return?GetData(m_nHaddrlen);//硬件地址長度
}
CString?CARPPacket::GetPaddrlen()
{
return?GetData(m_nPaddrlen);//協議地址長度
}
CString?CARPPacket::GetOperation()
{
return?GetData(m_nOperation);//操作類型
}
CString?CARPPacket::GetSHaddr()
{
return?GetData(0m_cSHaddrfalse);//發送站點硬件地址
}
CString?CARPPacket::GetDHaddr()
{
return?GetData(0m_cDHaddrfalse);//目的站點硬件地址
}
CString?CARPPacket::GetData(int?nNumBYTE?*pBytebool?bFlag)
{
CString?str;
if(?bFlag?)
str.Format(“%d“nNum);
else
{
if(?pByte?!=?NULL?)
??str.Format(“%02X:%02X:%02X:%02X:%02X:%02X“pByte[0]pByte[1]pByte[2]pByte[3]pByte[4]pByte[5]);
else
??str?=?“空“;
}
return?str;
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????2205??2009-10-02?20:43??分析各層數據3\分析各層數據\ARPPacket.cpp
?????文件???????1028??2009-10-02?20:43??分析各層數據3\分析各層數據\ARPPacket.h
?????文件?????172079??2009-10-16?13:04??分析各層數據3\分析各層數據\Debug\test.exe
?????文件???????1781??2009-10-04?09:05??分析各層數據3\分析各層數據\fr
?????文件????????888??2007-10-14?23:25??分析各層數據3\分析各層數據\fr
?????文件???????4809??2009-10-03?15:52??分析各層數據3\分析各層數據\IPPacket.cpp
?????文件???????1903??2009-10-16?10:45??分析各層數據3\分析各層數據\IPPacket.h
?????文件???????5977??2009-10-16?13:04??分析各層數據3\分析各層數據\Ipv6Packet.cpp
?????文件???????2366??2009-10-16?12:39??分析各層數據3\分析各層數據\Ipv6Packet.h
?????文件???????3543??2009-09-29?09:15??分析各層數據3\分析各層數據\ReadMe.txt
?????文件???????1078??2009-09-29?09:15??分析各層數據3\分析各層數據\res\test.ico
?????文件????????396??2009-09-29?09:15??分析各層數據3\分析各層數據\res\test.rc2
?????文件???????1464??2009-10-16?08:22??分析各層數據3\分析各層數據\resource.h
?????文件????????206??2009-09-29?09:15??分析各層數據3\分析各層數據\StdAfx.cpp
?????文件???????1054??2009-09-29?09:15??分析各層數據3\分析各層數據\StdAfx.h
?????文件???????3560??2009-10-02?16:26??分析各層數據3\分析各層數據\TCPPacket.cpp
?????文件???????1663??2009-10-02?16:26??分析各層數據3\分析各層數據\TCPPacket.h
?????文件??????37744??2009-10-16?08:22??分析各層數據3\分析各層數據\test.aps
?????文件???????2268??2009-10-16?08:18??分析各層數據3\分析各層數據\test.clw
?????文件???????2035??2009-09-29?09:15??分析各層數據3\分析各層數據\test.cpp
?????文件???????4946??2009-10-16?13:08??分析各層數據3\分析各層數據\test.dsp
?????文件????????514??2009-09-29?10:50??分析各層數據3\分析各層數據\test.dsw
?????文件???????1302??2009-09-29?09:15??分析各層數據3\分析各層數據\test.h
?????文件?????197632??2009-10-16?13:08??分析各層數據3\分析各層數據\test.ncb
?????文件??????49664??2009-10-16?13:08??分析各層數據3\分析各層數據\test.opt
?????文件???????1115??2009-10-16?13:04??分析各層數據3\分析各層數據\test.plg
?????文件???????7867??2009-10-16?08:22??分析各層數據3\分析各層數據\test.rc
?????文件??????28491??2009-10-16?12:52??分析各層數據3\分析各層數據\testDlg.cpp
?????文件???????2714??2009-10-16?08:23??分析各層數據3\分析各層數據\testDlg.h
?????文件???????1413??2009-10-02?20:48??分析各層數據3\分析各層數據\UDPPacket.cpp
............此處省略11個文件信息
- 上一篇:基于Windows的IPv6實驗環境搭建及測試
- 下一篇:ipv4向ipv6過渡技術
評論
共有 條評論