xxxx18一60岁hd中国/日韩女同互慰一区二区/西西人体扒开双腿无遮挡/日韩欧美黄色一级片 - 色护士精品影院www

  • 大小: 1.1MB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2023-08-30
  • 語言: 其他
  • 標簽: ping??socket??

資源簡介

基于socket的網絡編程技術,用到SOCK_RAW的原始套接字類型。里面對簡單ICMP協議和IP協議有著很完整的詮釋和定義。可以交流zhaquanmin@163.com

資源截圖

代碼片段和文件信息

//?SOCK_RAW.cpp?:?Defines?the?entry?point?for?the?console?application.
//?在project->setting->Debug中program?arguments輸入IP地址???測試程序:127.0.0.1

#include?
#include?
#include?
#include?“PING.h“


//函數聲明
void?Ping(LPCSTR?pstrHost);
void?ReportError(LPCSTR?pstrFrom);
int?WaitForEchoReply(SOCKET?s);
u_short?in_cksum(u_short?*addrint?len);



//ICMP回送請求和應答函數聲明
int?SendEchoRequest(SOCKETLPSOCKADDR_IN);
DWORD?RecvEchoReply(SOCKETLPSOCKADDR_INu_char*);



//主程序
void?main(int?argcchar?**argv)
{
??WSADATA?wsaData;
??WORD?wVersionRequested=MAKEWORD(11);???//Winsock1.1
??int?nRet;
??
??//命令行參考檢查
??if(argc!=2)
??{
??fprintf(stderr“\nUsage:ping?hostname\n“);
??return;
??}
??
??//初始化Winsock
??nRet=WSAStartup(wVersionRequested&wsaData);
??if(nRet)
??{
??fprintf(stderr“\nError?initializing?Winsock\n“);
??}
??
??//Winsock版本檢查
??if(wsaData.wVersion!=wVersionRequested)
??{
??fprintf(stderr“\nWinsock?version?not?supported\n“);
??return;
??}

??//調用Ping函數
??Ping(argv[1]);

??//釋放Winsock
??WSACleanup();
}



///////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////
//Ping()函數
//調用SendEchoRequest()和RecvEchoReply()函數并輸出結果
void?Ping(LPCSTR?pstrHost)
{
SOCKET?rawSocket;
LPHOSTENT?lpHost;
struct?sockaddr_in?saDest;
struct?sockaddr_in?saSrc;
DWORD?dwTimeSent;
DWORD?dwElapsed;
u_char?cTTL;
int?nLoop;
int?nRet;

//創建一個原始套接口
rawSocket=socket(AF_INETSOCK_RAWIPPROTO_ICMP);
????if(rawSocket==SOCKET_ERROR)
{
????????ReportError(“socket()“);
????????return;
}

????//根據主機名查詢主機地址
// lpHost=gethostbyname(pstrHost);
saDest.sin_addr.s_addr?=?inet_addr(pstrHost);
????//根據主機地址查詢主機名
lpHost=gethostbyaddr((char?*)&saDest.sin_addr4AF_INET);
if(lpHost==NULL)
????{
fprintf(stderr“\nHost?not?found:%\n“pstrHost);
return;
}


//設置目標套接口地址
saDest.sin_addr.s_addr=*((u_long?FAR*)(lpHost->h_addr));
saDest.sin_family=AF_INET;
saDest.sin_port=0;


//輸出Ping程序的提示信息例如進行本機Ping時,輸出:Pinging?localhost?[127.0.0.1]?with?32?bytes?of?data:
printf(“\nPinging??localhost?srvhostname?%s?to?desthostIp?%s?[$s]?with?%d?bytes?of?data:\n“
??????lpHost->h_name
??inet_ntoa(saDest.sin_addr)
??REQ_DATASIZE);


//控制Ping執行的次數
for(nLoop=0;nLoop<4;nLoop++)
{

//發送ICMP回送請求
SendEchoRequest(rawSocket&saDest);

//使用select()等待接收回送的數據
nRet=WaitForEchoReply(rawSocket);
if(nRet==SOCKET_ERROR)
{
ReportError(“select()“);
break;
}
if(!nRet)
{
????printf(“\nTimeOut“);?????//輸出超時提示
break;
}

//接收應答
dwTimeSent=RecvEchoReply(rawSocket&saSrc&cTTL);

//計算傳輸時間,并輸出提示信息。如:Reply?from:127.0.0.1:bytes=32time=0ms?TTL=128
????????dwElapsed=GetTickCount()-dwTimeSent;
printf(“\nReply?from:?%s:?bytes=%d?time=%ldms?TTL=%d“
????inet_ntoa(saSrc.sin_addr)
REQ_DATASIZE
dwElapsed
cTTL);
}

pri

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

?????文件?????155742??2009-08-10?17:19??ping\Debug\ping.exe

?????文件?????177612??2009-08-10?17:19??ping\Debug\ping.ilk

?????文件??????20888??2009-08-10?17:19??ping\Debug\ping.obj

?????文件????3570220??2009-08-10?17:19??ping\Debug\ping.pch

?????文件?????328704??2009-08-10?17:19??ping\Debug\ping.pdb

?????文件?????140288??2009-08-10?17:19??ping\Debug\vc60.idb

?????文件??????77824??2009-08-10?17:19??ping\Debug\vc60.pdb

?????目錄??????????0??2009-08-10?17:19??ping\Debug

?????文件???????5639??2009-07-30?21:21??ping\ping.cpp

?????文件???????3416??2009-08-10?17:18??ping\ping.dsp

?????文件????????533??2009-08-10?17:18??ping\ping.dsw

?????文件???????1509??2009-07-30?22:27??ping\PING.H

?????文件??????41984??2009-08-10?17:19??ping\ping.ncb

?????文件??????53760??2009-08-10?17:19??ping\ping.opt

?????文件???????1163??2009-08-10?17:19??ping\ping.plg

?????文件???????1220??2008-01-14?20:53??ping\ReadMe.txt

?????文件????????295??2008-01-14?20:53??ping\StdAfx.cpp

?????文件????????769??2008-01-14?20:53??ping\StdAfx.h

?????目錄??????????0??2009-08-10?17:19??ping

-----------?---------??----------?-----??----

??????????????4581566????????????????????19


評論

共有 條評論