首页 网络安全 安全学院 查看内容

检测器编写

2009-5-19 11:15 700 0

摘要: 大家好我是╰★噩靈の风雅今天没事给大家做一个  用C语言编写检测器工具  如果大家需要什么工具编写代码可以到群里找我给我Q留言由于在上学所以时间比较少!也可以发邮件找我xingya...
关键词: printf Packet include tcp saddr ntohs struct sock ip paintf

大家好我是╰★噩靈の风雅今天没事给大家做一个  用C语言编写检测器工具  如果大家需要什么工具编写代码可以到群里找我给我Q留言由于在上学所以时间比较少!也可以发邮件找我[email protected]当然也可以去我Q空间里我会把写好的代码放在我日志里!我空间地址是http://365081640.qzone.qq.com/infocenter?ADUIN=365081640&ADSESSION=1242160745&ADTAG=CLIENT.QQ.1855_QQUrlReportBlankZone.0另外再给大家推荐一个免费学习的技术论坛http://bbs.x-xox-x.com/好了现在废话不多说了,代码如下#include<netinet/in.h>#include<errno.h>#include<netdb.h>#include<stdio.h>#include<netinet/tcp.h>#include<netinet/ip.h>#include<sys/socket.h>#include<arpa/inet.h>#include<sys/ioctl.h>#include<sys/tinme.h>#include<sys/types.h>#include<unistd.h>//--glodals---------------------------------------int sock_raw;struct Packet{struct iphdr ip;struct tcphdr tcp;unsigned char data [65535];}packet;//--entry point------------------------------------int main(){int saddr_size;struct sockaddr_in saddr;struct in_addr in;printf([starting]...\n")sock_raw = socket(AF_INET,SOCK_RAW,IPPROTO_TCP);if(sock_raw < 0){printf("socket error\n");return -1;}while(1){saddr_size + sizeof(saddr);if(recvfrom(sock-arw,&packet,sizeof(packet),0,&saddr,&saddr,&saddr_size) < 0){printf("recvfrom error,failed to get packet\n");return -1;}printf("--[IP Header]---\n");//printf("version:%d\t,packet.ip.version);//printf("ihl:%d\t",packet.ip.tot_len);//printf("id;%d\t,ntohs(packet.ip.id));//printf("frag_off:%d\t",packet.ip.frag_off);//printf("ttl;%d\t",packet.ip.ttl);//printf("protocol;%d\t,packer.ip.protocol);//printf("check:%d\t,packet.ip.check);in.s_addr = packet.ip.saddr;printf(saddr:%s/t",inet_ntoa(in));in.s_addr = packet.ip.daddr;printf(saddr:%s/n",inet_ntoa(in));printf(--[TCP Header]---\n");printf("source port:%d/t",ntohs(packet.tcp.source)); printf("dest port:%d\n",ntohs(apcket.tcp.dest));printf("sequence:%d\t",ntohs(apcket.tcp.seq));//printf(fin;%d/t,packet.tcpfin);//printf("doff:%d\t",ntohs(packet.tcp.doff));printf("doff:%d\t",packet.tcp.fin)printf("syn:%d\t",packet.tcp.syn);printf("rst:%d\t",packet.tcp.rst);printf("psh:%d\t",packet.tcp.psh);printf("ack:%d\t",packet.tcp.ack);printf("ask:%d\n\n",pascket.tcp.urg);//paintf("res2:%d\t",packet.tcp.res2);//paintf("window:%d\t",ntohs(packet.tcp.window));//paintf("check:%d\t",packet.tcp.check);//paintf("urt_ptr:%d\n\n\n",packet.tcp.urt_ptr);}close(sock_raw);printf("[finishing]...\n);return 0;}
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

最新评论

返回顶部