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

  • 大小: 11.16MB
    文件類型: .rar
    金幣: 2
    下載: 1 次
    發布日期: 2023-07-29
  • 語言: Java
  • 標簽:

資源簡介

廣東工業大學網絡課程設計ping程序設計和實現 1.已知參數:目的節點IP地址或主機名 2.設計要求:通過原始套接字編程,實現Ping的基本功能 2.1初始化Windows Sockets網絡環境; 2.2解析命令行參數,構造目的端socket地址; 2.3定義IP、ICMP報文; 2.4接收ICMP差錯報文并進行解析。 3. Java環境為MyEclipse, C++環境為Visual C++ 文件包含源代碼,報告,可執行文件,直接更改名字就可以上交

資源截圖

代碼片段和文件信息

#include?
#include?
#include?
#pragma?comment(lib?“ws2_32.lib“)
#define?ICMP_ECHOREPLY?0?//ICMP回應答復
#define?ICMP_ECHOREQ?8?//ICMP回應請求
#define?REQ_DATASIZE?32?//請求數據報大小

//定義IP首部格式
typedef?struct?_IPHeader
{
u_char?VIHL;?//版本和首部長度
u_char?ToS;?//服務類型
u_short?TotalLen;?//總長度
u_short?ID;?//標識號
u_short?Frag_Flags;?//片偏移量
u_char?TTL;?//生存時間
u_char?Protocol;?//協議
u_short?Checksum;?//首部校驗和
struct?in_addr?SrcIP;?//源IP地址
struct?in_addr?DestIP;?//目的地址
}IPHDR?*PIPHDR;


//定義ICMP首部格式
typedef?struct?_ICMPHeader
{
u_char?Type;?//類型
u_char?Code;?//代碼
u_short?Checksum;?//首部校驗和
u_short?ID;?//標識
u_short?Seq;?//序列號
char?Data;?//數據
}ICMPHDR?*PICMPHDR;


//定義ICMP回應請求
typedef?struct?_ECHOREQUEST
{
ICMPHDR?icmpHdr;
DWORD?dwTime;
char?cData[REQ_DATASIZE];
}ECHOREQUEST?*PECHOREQUEST;


//定義ICMP回應答復
typedef?struct?_ECHOREPLY
{
IPHDR?ipHdr;
ECHOREQUEST?echoRequest;
char?cFiller[256];
}ECHOREPLY?*PECHOREPLY;

//計算校驗和
u_short?checksum(u_short?*buffer?int?len)
{
register?int?nleft?=?len;
register?u_short?*w?=?buffer;
register?u_short?answer;
register?int?sum?=?0;
//使用32位累加器進行16位的反饋計算
while?(?nleft?>?1?)
{
sum?+=?*w++;
nleft?-=?2;
}
//補全奇數位
if?(?nleft?==?1?)
{
u_short?u?=?0;
*(u_char?*)(&u)?=?*(u_char*)w;
sum?+=?u;
}
//將反饋的16位從高位移到低位
sum?=?(sum?>>?16)?+?(sum?&?0xffff);
sum?+=?(sum?>>?16);
answer?=?~sum;
return?(answer);
}

//發送回應請求函數
int?SendEchoRequest(SOCKET?s?struct?sockaddr_in?*lpstToAddr)
{
static?ECHOREQUEST?echoReq;
static??int?nId?=?1;
static?int?nSeq?=?1;
int?nRet;
//填充回應請求消息
echoReq.icmpHdr.Type?=?ICMP_ECHOREQ;
echoReq.icmpHdr.Code?=?0;
echoReq.icmpHdr.Checksum?=?0;
echoReq.icmpHdr.ID?=?nId++;
echoReq.icmpHdr.Seq?=?nSeq++;
//填充要發送的數據
for?(nRet?=?0;?nRet?{
echoReq.cData[nRet]?=?‘1‘?+?nRet;
}
//存儲發送的時間
echoReq.dwTime?=?GetTickCount();
//計算回應請求的校驗和
echoReq.icmpHdr.Checksum?=?checksum((u_short*)&echoReq?sizeof(ECHOREQUEST));
//發送回應請求
nRet?=?sendto(s(LPSTR)&echoReqsizeof(ECHOREQUEST)
??0(struct?sockaddr*)lpstToAddrsizeof(SOCKADDR_IN));
if?(nRet?==?SOCKET_ERROR)
{
printf(“send?to()?error:%d\n“?WSAGetLastError());
}
return?(nRet);
}

//接收應答回復并進行解析
DWORD?RecvEchoReply(SOCKET?s?LPSOCKADDR_IN?lpsaFrom?u_char?*pTTL)
{
ECHOREPLY?echoReply;
int?nRet;
int?nAddrLen?=?sizeof(struct?sockaddr_in);
//接收應答回復
nRet?=?recvfrom(s(LPSTR)&echoReplysizeof(ECHOREPLY)
0(LPSOCKADDR)lpsaFrom&nAddrLen);
//檢驗接收結果

if?(nRet?==?SOCKET_ERROR)
{
printf(“recvfrom()?error:%d\n“WSAGetLastError());
}
//記錄返回的TTL
*pTTL?=?echoReply.ipHdr.TTL;
//返回應答時間
return(echoReply.echoRequest.dwTime);
}

//等待回應答復使用select模型
int?WaitForEchoReply(SOCKET?s)
{
struct?timeval?timeout;
fd_set?readfds;
readfds.fd_count?=?1;
readfds.fd_array[0]?=?s;
timeout.tv_sec?=?1;
timeout.tv_usec?=?0;
return(select(1?&readfds?NULL?NULL?&timeout));
}

//PING功能實現
void?Ping(char?*pstrHost)
{
SOCKET?rawSocket;
LP

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件????????891??2011-12-27?21:51??李志鵬網絡課程設計報告3109005985pingtest\pingtest.sln

????..A..H.?????11264??2012-01-04?17:49??李志鵬網絡課程設計報告3109005985pingtest\pingtest.suo

?????文件??????30720??2011-12-28?21:56??李志鵬網絡課程設計報告3109005985pingtest\可執行程序.exe

?????文件???????5860??2011-12-28?21:56??李志鵬網絡課程設計報告3109005985pingtest\源代碼.cpp

?????文件???23875584??2012-01-04?17:49??李志鵬網絡課程設計報告3109005985pingtest\pingtest.sdf

?????文件???32768000??2011-12-28?21:49??李志鵬網絡課程設計報告3109005985pingtest\ipch\pingtest-976f476e\pingtest-d2d0b45a.ipch

?????文件?????335240??2012-01-04?17:49??李志鵬網絡課程設計報告3109005985pingtest\Debug\pingtest.ilk

?????文件?????445440??2012-01-04?17:49??李志鵬網絡課程設計報告3109005985pingtest\Debug\pingtest.pdb

?????文件??????30720??2012-01-04?17:49??李志鵬網絡課程設計報告3109005985pingtest\Debug\pingtest.exe

?????文件???????3226??2011-12-27?21:52??李志鵬網絡課程設計報告3109005985pingtest\pingtest\pingtest.vcxproj

?????文件????????143??2011-12-27?21:51??李志鵬網絡課程設計報告3109005985pingtest\pingtest\pingtest.vcxproj.user

?????文件????????946??2011-12-27?21:52??李志鵬網絡課程設計報告3109005985pingtest\pingtest\pingtest.vcxproj.filters

?????文件???????5860??2011-12-28?21:56??李志鵬網絡課程設計報告3109005985pingtest\pingtest\pingtest.cpp

?????文件????????937??2012-01-04?17:49??李志鵬網絡課程設計報告3109005985pingtest\pingtest\Debug\pingtest.log

?????文件???????1385??2011-12-28?21:56??李志鵬網絡課程設計報告3109005985pingtest\pingtest\Debug\pingtest.Build.CppClean.log

?????文件?????????96??2012-01-04?17:49??李志鵬網絡課程設計報告3109005985pingtest\pingtest\Debug\pingtest.lastbuildstate

?????文件?????617472??2012-01-04?17:49??李志鵬網絡課程設計報告3109005985pingtest\pingtest\Debug\vc100.idb

?????文件?????118784??2012-01-04?17:49??李志鵬網絡課程設計報告3109005985pingtest\pingtest\Debug\vc100.pdb

?????文件??????24644??2012-01-04?17:49??李志鵬網絡課程設計報告3109005985pingtest\pingtest\Debug\CL.read.1.tlog

?????文件????????972??2012-01-04?17:49??李志鵬網絡課程設計報告3109005985pingtest\pingtest\Debug\CL.write.1.tlog

?????文件???????1330??2012-01-04?17:49??李志鵬網絡課程設計報告3109005985pingtest\pingtest\Debug\cl.command.1.tlog

?????文件????????381??2012-01-04?17:49??李志鵬網絡課程設計報告3109005985pingtest\pingtest\Debug\pingtest.exe.intermediate.manifest

?????文件???????4764??2012-01-04?17:49??李志鵬網絡課程設計報告3109005985pingtest\pingtest\Debug\link.read.1.tlog

?????文件???????1656??2012-01-04?17:49??李志鵬網絡課程設計報告3109005985pingtest\pingtest\Debug\link.write.1.tlog

?????文件???????2750??2012-01-04?17:49??李志鵬網絡課程設計報告3109005985pingtest\pingtest\Debug\link.command.1.tlog

?????文件???????1514??2012-01-04?17:49??李志鵬網絡課程設計報告3109005985pingtest\pingtest\Debug\mt.read.1.tlog

?????文件????????726??2012-01-04?17:49??李志鵬網絡課程設計報告3109005985pingtest\pingtest\Debug\mt.write.1.tlog

?????文件???????1082??2012-01-04?17:49??李志鵬網絡課程設計報告3109005985pingtest\pingtest\Debug\mt.command.1.tlog

?????文件??????38327??2012-01-04?17:49??李志鵬網絡課程設計報告3109005985pingtest\pingtest\Debug\pingtest.obj

?????文件?????533504??2012-04-09?22:11??李志鵬網絡課程設計報告3109005985pingtest\計算機網絡課程設計報告.doc

............此處省略9個文件信息

評論

共有 條評論

相關資源