繁体中文
设为首页
加入收藏
当前位置:程序开发首页 >> 其他开发语言 >> 有趣的ping-----小记

有趣的ping-----小记

2005-03-12 14:10:52  作者:norsd  来源:互联网  浏览次数:5  文字大小:【】【】【
简介:                                &nbs...
关键字:小记 有趣 ping

有趣的ping-----小记

前言: 说是小记,当然文章很短啦。 你应当熟悉的工具是winpcap

前几日,偶尔在看网络的书,好奇的用winpcap去构造了一个假冒的ping,就是icmp包拉。满心欢喜等着那台电脑上当,哪里知道,他连屁都没放一个。(事实上,那个家伙还是有反应的,容我稍候叙述) 要知道,如果我在cmd中ping的话,他可是老老实实的回话哦。

一些参数:

我的ip: 172.16.99.3 我把我的ip改成了 172.16.99.2 (有人说,为什么不改mac,其实是自便的啦。)

那个家伙的ip: 172.16.0.100

部分程式:

BYTE packet[100];

memset( packet,0, sizeof(packet) );

P_MAC_HEADER pMacHdr = (P_MAC_HEADER)(BYTE*)packet;

pMacHdr->type = 0x0008;//IP PACKET

pMacHdr->dmac[0] = 0x00;

pMacHdr->dmac[1] = 0x27;

pMacHdr->dmac[2] = 0x4;

pMacHdr->dmac[3] = 0x22;

pMacHdr->dmac[4] = 0x64;

pMacHdr->dmac[5] = 0xe;

pMacHdr->smac[0] = 0x00;

pMacHdr->smac[1] = 0x04;

pMacHdr->smac[2] = 0x90;

pMacHdr->smac[3] = 0x46;

pMacHdr->smac[4] = 0x21;

pMacHdr->smac[5] = 0xbe;

P_IP_HEADER pIpHdr = (P_IP_HEADER)((BYTE*)(packet)+sizeof(MAC_HEADER));

pIpHdr->crc = 0;

pIpHdr->daddr.byte1 = 172;

pIpHdr->daddr.byte2 = 16;

pIpHdr->daddr.byte3 = 0;

pIpHdr->daddr.byte4 = 100;

pIpHdr->saddr.byte1 = 172;

pIpHdr->saddr.byte2 = 16;

pIpHdr->saddr.byte3 = 99;

pIpHdr->saddr.byte4 = 2;

pIpHdr->flags_fo = 0;

pIpHdr->identification = 0x3456;

pIpHdr->proto = IPPROTO_ICMP;

pIpHdr->tlen = htons(60);//htons(sizeof(IP_HEADER)+sizeof(ICMP_HEADER));

pIpHdr->tos = 0;

pIpHdr->ttl = 128;

pIpHdr->ver_ihl = (4<<4) | ( sizeof(IP_HEADER)/sizeof(DWORD) );

P_ICMP_HEADER pIcmpHdr = (P_ICMP_HEADER)((BYTE*)(pIpHdr)+sizeof(IP_HEADER));

pIcmpHdr->type = ICMP_PING_REQUEST;

pIcmpHdr->operation = 0;

pIcmpHdr->ping.spec = 0x2;

pIcmpHdr->ping.seq = 0x8;

pIcmpHdr->crc = 0;

pIpHdr->crc = CalculateCRC( (BYTE*)pIpHdr, (pIpHdr->ver_ihl&0xF)*4 );

pIcmpHdr->crc = CalculateCRC( (BYTE*)pIcmpHdr, sizeof(ICMP_HEADER) );

packetSize = 60+14;

if( pcap_sendpacket( adapterHandle, packet, packetSize ) != 0 )

{

fprintf(stderr,"\nError sending the packet: \n", pcap_geterr(adapterHandle));

return 0;

}

责任编辑:admin
相关文章