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

  • 大小: 2KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發(fā)布日期: 2021-06-02
  • 語言: 其他
  • 標(biāo)簽:

資源簡介

計(jì)算機(jī)網(wǎng)絡(luò)的解析ip數(shù)據(jù)包課程設(shè)計(jì),親測運(yùn)行成功。問題一般出在頭文件的引用上

資源截圖

代碼片段和文件信息

#define?_CRT_SECURE_NO_WARNINGS
?
#include?
#include?
#include?
#include?
#include?
#pragma?comment(lib“Ws2_32.lib“)
?
using?namespace?std;
?
?
//IP首部
typedef?struct?tIPPackHead
{
?
BYTE?ver_hlen;??????//IP協(xié)議版本和IP首部長度。高4位為版本,低4位為首部的長度(單位為4bytes)
BYTE?byTOS;???????//服務(wù)類型
WORD?wPacketLen;?//IP包總長度。包括首部,單位為byte。[Big?endian]
WORD?wSequence;????//標(biāo)識,一般每個(gè)IP包的序號遞增。[Big?endian]
?
union
{
WORD?Flags;?//標(biāo)志
WORD?FragOf;//分段偏移
};
BYTE?byTTL;?????????//生存時(shí)間?
BYTE?byProtocolType;?//協(xié)議類型,見PROTOCOL_TYPE定義
WORD?wHeadCheckSum;????//IP首部校驗(yàn)和[Big?endian]
DWORD?dwIPSrc;?????????//源地址
DWORD?dwIPDes;?????????//目的地址
BYTE?Options;??????????//選項(xiàng)
}?IP_HEAD;
?
int?cnt;
?
int?DecodeIP(char?*buf?int?len)
{
int?n?=?len;
if?(n?>=?sizeof(IP_HEAD))
{
IP_HEAD?iphead;
iphead?=?*(IP_HEAD*)buf;
?
cout?<

cout?<>?4)?< cout?< cout?<>?5)?<>?1)?&?0x0f)?< cout?< cout?< cout?<>?14)?&?0x01)?<>?13)?&?0x01)?< cout?< cout?< cout?< cout?< cout?< cout?<?
cout?<?



}
return?0;
}
void?AutoWSACleanup()
{
::WSACleanup();
}
int?main()
{
int?n;
WSADATA?wd;
n?=?WSAStartup(MAKEWORD(2?2)?&wd);
if?(n)
{
cout?< return?-1;
}
atexit(AutoWSACleanup);
//創(chuàng)建SOCKET
SOCKET?sock?=?socket(AF_INET?SOCK_RAW?IPPROTO_IP);
if?(sock?==?INVALID_SOCKET)
{
cout?< return?0;
}
//獲取本機(jī)地址
char??name[128];
if?(-1?==?gethostname(name?sizeof(name)))
{
closesocket(sock);
cout?< return?0;
}
struct?hostent?*?pHostent;
pHostent?=?gethostbyname(name);
//綁定本地地址到SOCKET句柄
sockaddr_in?addr;
addr.sin_family?=?AF_INET;
addr.sin_addr?=?*(in_addr*)pHostent->h_addr_list[0];?//IP
addr.sin_port?=?8888;?//端口,IP層端口可隨意填
if?(SOCKET_ERROR?==?bind(sock?(sockaddr?*)&addr?sizeof(addr)))
{
closesocket(sock);
cout?< return?0;
}
?
//設(shè)置該SOCKET為接收所有流經(jīng)綁定的IP的網(wǎng)卡的所有數(shù)據(jù),包括接收和發(fā)送的數(shù)據(jù)包
u_long?sioarg?=?1;
DWORD?wt?=?0;
if?(SOCKET_ERROR?==?WSAIoctl(sock?SIO_RCVALL?&sioarg?sizeof(sioarg)?NULL?0?&wt?NULL?NULL))
{
closesocket(so

?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----

?????文件?????????57??2018-07-02?09:51??readme.txt

?????文件???????3776??2018-07-02?09:46??ipjx.cpp

?????文件???????1027??2018-07-02?09:14??mstcpip.h

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

?????????????????4860????????????????????3


評論

共有 條評論

相關(guān)資源