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

  • 大小: 74KB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發布日期: 2021-05-18
  • 語言: 其他
  • 標簽: tracert??

資源簡介

tracert代碼,根據具體的tracert原理,完成的網絡編程,時效,有利于學習

資源截圖

代碼片段和文件信息

/*----------------------------------------------------------
功能說明:該程序簡單實現了Windows操作系統的tracert命令功能,
??????可以輸出IP報文從本機出發到達目的主機所經過的路由信息。
注意:程序編譯時應使用1字節對齊方式調整邊界!
-----------------------------------------------------------*/
#include?
#include?
#include?
#include?
#include?“itracert.h“

////////////////////////////////////////////////////////

int?main(int?argc?char*?argv[])
{
//檢查命令行參數
if?(argc?!=?2)
{
cerr?< return?-1;
}

//初始化winsock2環境
WSADATA?wsa;
if?(WSAStartup(MAKEWORD(2?2)?&wsa)?!=?0)
{
cerr?< ?< return?-1;
}

//將命令行參數轉換為IP地址
u_long?ulDestIP?=?inet_addr(argv[1]);
if?(ulDestIP?==?INADDR_NONE)
{
//轉換不成功時按域名解析
hostent*?pHostent?=?gethostbyname(argv[1]);
if?(pHostent)
{
ulDestIP?=?(*(in_addr*)pHostent->h_addr).s_addr;

//輸出屏幕信息
cout?< ?< ?< }
else?//解析主機名失敗
{
cerr?< ?< WSACleanup();
return?-1;
}
}
else
{
//輸出屏幕信息
cout?< ?< }

//填充目的Socket地址
sockaddr_in?destSockAddr;
ZeroMemory(&destSockAddr?sizeof(sockaddr_in));
destSockAddr.sin_family?=?AF_INET;
destSockAddr.sin_addr.s_addr?=?ulDestIP;

//使用ICMP協議創建Raw?Socket
SOCKET?sockRaw?=?WSASocket(AF_INET?SOCK_RAW?IPPROTO_ICMP?NULL?0?WSA_FLAG_OVERLAPPED);
if?(sockRaw?==?INVALID_SOCKET)
{
cerr?< ?< WSACleanup();
return?-1;
}
//設置端口屬性
int?iTimeout?=?DEF_ICMP_TIMEOUT;

if?(setsockopt(sockRaw?SOL_SOCKET?SO_RCVTIMEO?(char*)&iTimeout?sizeof(iTimeout))?==?SOCKET_ERROR)
{
cerr?< ?< closesocket(sockRaw);
WSACleanup();
return?-1;
}
if?(setsockopt(sockRaw?SOL_SOCKET?SO_SNDTIMEO?(char*)&iTimeout?sizeof(iTimeout))?==?SOCKET_ERROR)
{
cerr?< ?< closesocket(sockRaw);
WSACleanup();
return?-1;
}


//創建ICMP包發送緩沖區和接收緩沖區
char?IcmpSendBuf[sizeof(ICMP_HEADER)+DEF_ICMP_DATA_SIZE];
memset(IcmpSendBuf?0?sizeof(IcmpSendBuf));
char?IcmpRecvBuf[MAX_ICMP_PACKET_SIZE];
memset(IcmpRecvBuf?0?sizeof(IcmpRecvBuf));

//填充待發送的ICMP包
ICMP_HEADER*?pIcmpHeader?=?(ICMP_HEADER*)IcmpSendBuf;
pIcmpHeader->type?=?ICMP_ECHO_REQUEST;
pIcmpHeader->code?=?0;
pIcmpHeader->id?=?(USHORT)GetCurrentProcessId();
memset(IcmpSendBuf+sizeof(ICMP_HEADE

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2013-06-11?18:40??第6章?Tracert程序\
?????目錄???????????0??2013-06-11?18:42??第6章?Tracert程序\itracert\
?????目錄???????????0??2013-06-11?18:40??第6章?Tracert程序\itracert\Code\
?????文件????????7467??2007-06-28?16:19??第6章?Tracert程序\itracert\Code\itracert.cpp
?????文件????????4413??2007-06-28?16:19??第6章?Tracert程序\itracert\Code\itracert.dsp
?????文件?????????541??2007-02-12?16:05??第6章?Tracert程序\itracert\Code\itracert.dsw
?????文件????????1515??2007-02-13?23:10??第6章?Tracert程序\itracert\Code\itracert.h
?????文件???????66560??2007-06-28?16:38??第6章?Tracert程序\itracert\Code\itracert.ncb
?????文件??????100352??2007-06-28?16:38??第6章?Tracert程序\itracert\Code\itracert.opt
?????文件????????1501??2007-06-28?16:37??第6章?Tracert程序\itracert\Code\itracert.plg
?????目錄???????????0??2013-06-11?18:42??第6章?Tracert程序\itracert_icmpdll\
?????目錄???????????0??2013-06-11?18:40??第6章?Tracert程序\itracert_icmpdll\Code\
?????文件????????5068??2007-06-26?13:27??第6章?Tracert程序\itracert_icmpdll\Code\itracert_icmpdll.cpp
?????文件????????4402??2007-05-03?12:05??第6章?Tracert程序\itracert_icmpdll\Code\itracert_icmpdll.dsp
?????文件?????????555??2007-05-03?10:24??第6章?Tracert程序\itracert_icmpdll\Code\itracert_icmpdll.dsw
?????文件???????50176??2007-06-27?17:31??第6章?Tracert程序\itracert_icmpdll\Code\itracert_icmpdll.ncb
?????文件??????100352??2007-06-27?17:31??第6章?Tracert程序\itracert_icmpdll\Code\itracert_icmpdll.opt
?????文件????????1559??2007-06-27?17:30??第6章?Tracert程序\itracert_icmpdll\Code\itracert_icmpdll.plg
?????文件???????26624??2007-06-29?13:31??第6章?Tracert程序\使用說明.doc

評論

共有 條評論