亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? check_sum_.c

?? /*** *** *** *** check_sum.c********************/ /* linux 利用原始socket抓包,并進行tcp封包偽造,進行正確的校驗和計算的例子程序.*
?? C
字號:
/************************check_sum.c********************/
/* linux 利用原始socket抓包,并進行tcp封包偽造,進行正確的校驗和計算的例子程序.****/
/*作者 CBCHEN .CBCHEN@ZZIA.EDU.CN***************/
/*在 linux2.4,環境,gcc 下編譯通過*****/
#include <sys/socket.h>
#include <netinet/in.h>
#include <netinet/ip.h>
#include <netinet/tcp.h>
#include <stdlib.h>
#include <errno.h>
#include <unistd.h>
#include <stdio.h>
#include <netdb.h>
#include <sys/ioctl.h>
#include <linux/if.h>
#include <netinet/if_ether.h>
#define INTERFACE "eth0"
#define IP	""
/*Prototype area*/
int Open_Packet_Socket();
int Open_Raw_Socket();
int Set_Promisc(char *interface, int sock);
void send_tcp_ack(int sockfd,struct sockaddr_in *addr);
unsigned short check_sum(unsigned short *addr,int len);
struct ip *iprecv;
struct tcphdr *tcprecv;
struct sockaddr_in addr;

int main() 
{
int sockfd,sendfd,bytes_recieved;

char buffer[1518];
u_char *buf2;
char	saddr[20],daddr[20];

sockfd=Open_Packet_Socket();
sendfd=Open_Raw_Socket();
//printf("sockfd:%d\tsendfd:%d\n",sockfd,sendfd);

int on=1;
	/******** 設置IP數據包格式,告訴系統內核模塊IP數據包由我們自己來填寫 ***/
setsockopt(sendfd,IPPROTO_IP,IP_HDRINCL,&on,sizeof(on));
Set_Promisc(INTERFACE, sockfd);
int count=1;

while(1)
{

 bytes_recieved = recvfrom(sockfd, buffer, 1518, 0, NULL, NULL);

 buf2=buffer;
 buf2+=14;
 iprecv=(struct ip *)buf2;
 //iprecv+=sizeof(struct ethhdr*);
/*See if this is a TCP packet*/
 if(iprecv->ip_v == 4&iprecv->ip_p == 6) {
 printf("---------------------------Number %d packet-----------------------------------------------\n",count);
 count++;
 printf("\nBytes received ::: %5d\n",bytes_recieved);
printf("ip version:%u\n",iprecv->ip_v);

 printf("IP包頭解碼:\n");
 printf("Source ip:%s\t",inet_ntoa(iprecv->ip_src));
 printf("Dest ip:%s\t",inet_ntoa(iprecv->ip_dst));
 printf("proto:%u\n",iprecv->ip_p);
 buf2+=iprecv->ip_hl<<2;
 printf("TCP包頭解碼:\n");
tcprecv = (struct tcphdr*)buf2;
 //tcprecv = (struct tcphdr *)(buffer + (iprecv->ip_hl<<2));
 printf("Source port :::%d\n",ntohs(tcprecv->source));
 printf("Dest port :::%d\n",ntohs(tcprecv->dest));
 printf("seq num:%u\n",ntohl(tcprecv->seq));
 printf("ack num:%u\n",ntohl(tcprecv->ack_seq));
 printf("urg:%x\tack:%x\tpsh:%x\trst:%x\tsyn:%x\tfin:%x\n",tcprecv->urg,tcprecv->ack,tcprecv->psh,tcprecv->rst,tcprecv->syn,tcprecv->fin);
 bzero(&addr,sizeof(struct sockaddr_in));
	addr.sin_family=AF_INET;
                        //addr2.sin_port=htons(thdr->source);
			addr.sin_port=tcprecv->source;
			//addr2.sin_addr=iphdr->ip_src;
		        addr.sin_addr=iprecv->ip_src;

/********* 發送阻隔包了!!!! ****/
if(tcprecv->syn==1&tcprecv->urg!=1&tcprecv->ack!=1&tcprecv->psh!=1&tcprecv->rst!=1&tcprecv->fin!=1)
{
//send_tcp_ack(sendfd,&addr);
//printf("It's a syn pocket!\n");
}
}
}
 close(sockfd);
 close(sendfd);
}
//end main

/******* 發送阻隔包的實現 *********/
/*
void send_tcp_ack(int sockfd,struct sockaddr_in *addr)
{
	struct send_tcp
   	{
      	struct iphdr ip;
      	struct tcphdr tcp;
   	} send_tcp;

	struct pseudo_header
   	{
      	unsigned int source_address;
      	unsigned int dest_address;
      	unsigned char placeholder;
      	unsigned char protocol;
      	unsigned short tcp_length;
      	struct tcphdr tcp;
   	} pseudo_header;

	int tcp_socket;
   	struct sockaddr_in sin;
   	int sinlen;

   	// form ip packet 
   	send_tcp.ip.ihl = 5;
   	send_tcp.ip.version = 4;
   	send_tcp.ip.tos = 0;
   	send_tcp.ip.tot_len = htons(40);
   	send_tcp.ip.frag_off = 0;
   	send_tcp.ip.ttl = 64;
   	send_tcp.ip.protocol = IPPROTO_TCP;
   	send_tcp.ip.check = 0;
   	send_tcp.ip.saddr = iprecv->ip_dst.s_addr;
   	send_tcp.ip.daddr = addr->sin_addr.s_addr;

   	// form tcp packet 
   	send_tcp.tcp.dest = addr->sin_port;
	send_tcp.tcp.source = tcprecv->dest;
   	send_tcp.tcp.ack_seq = htonl(ntohl(tcprecv->seq)+0x01);
   	send_tcp.tcp.res1 = 0;
   	send_tcp.tcp.doff = 5;
   	send_tcp.tcp.fin = 0;
   	send_tcp.tcp.syn = 1;
   	send_tcp.tcp.rst = 0;
   	send_tcp.tcp.psh = 0;
   	send_tcp.tcp.ack = 1;
   	send_tcp.tcp.urg = 0;
   	send_tcp.tcp.res2 = 0;
   	send_tcp.tcp.window = htons(512);
   	send_tcp.tcp.check = 0;
   	send_tcp.tcp.urg_ptr = 0;
     	send_tcp.tcp.seq = tcprecv->seq;

      	// set fields that need to be changed 
      	//send_tcp.tcp.source++;
      	send_tcp.ip.id = 0 ;
      	//send_tcp.tcp.seq++;
      	send_tcp.tcp.check = 0;
      	send_tcp.ip.check = 0;

      	// calculate the ip checksum 
      	send_tcp.ip.check = in_cksum((unsigned short *)&send_tcp.ip, 20);

      	// set the pseudo header fields 
      	pseudo_header.source_address = send_tcp.ip.saddr;
     	pseudo_header.dest_address = send_tcp.ip.daddr;
      	pseudo_header.placeholder = 0;
      	pseudo_header.protocol = IPPROTO_TCP;
      	pseudo_header.tcp_length = htons(20);
      	bcopy((char *)&send_tcp.tcp, (char *)&pseudo_header.tcp, 20);
      	send_tcp.tcp.check = in_cksum((unsigned short *)&pseudo_header, 32);
      	sinlen = sizeof(sin);
	int count;
	for(count=0;count<2;count++){
      	if(sendto(sockfd, &send_tcp, 40, 0, (struct sockaddr *)addr,sizeof(struct sockaddr))<0)
	{
	printf("sendto error!\n");
	}
	else
	{
	printf("send packet ok!\n");
	}
	

}
*/


/* 下面是首部校驗和的算法,偷了別人的 */
unsigned short in_cksum(unsigned short *addr, int len)    /* function is from ping.c */
{
    register int nleft = len;
    register u_short *w = addr;
    register int sum = 0;
    u_short answer =0;

    while (nleft > 1)
       	{
       	sum += *w++;
       	nleft -= 2;
      	}
    if (nleft == 1)
     	{      
       	*(u_char *)(&answer) = *(u_char *)w;
        sum += answer;
     	}
    sum = (sum >> 16) + (sum & 0xffff);
    sum += (sum >> 16);
    answer = ~sum;
    return(answer);
}
int Open_Packet_Socket()
{
int sock;
sock=socket(AF_INET,SOCK_PACKET,htons(ETH_P_ALL));
	if (sock==-1) 
	{
		perror("socket");
		exit(errno);
	}
printf("sockfd:%d\n",sock);
return(sock);
}
int Open_Raw_Socket()
{
int sock;
sock=socket(AF_INET,SOCK_RAW,IPPROTO_TCP);
	if (sock==-1) 
	{
		perror("socket");
		exit(errno);
	}
printf("sendfd:%d\n",sock);
return(sock);
}


int Set_Promisc(char *interface, int sockfd ) 
{
	struct ifreq ifr;
 	strncpy(ifr.ifr_name,interface,strnlen(interface)+1);
	if (ioctl(sockfd,SIOCGIFFLAGS,&ifr)==-1) 
	{
		perror("ioctl1");
		exit(errno);
	}
	ifr.ifr_flags |= IFF_PROMISC;
	if (ioctl(sockfd,SIOCSIFFLAGS,&ifr)) 
	{
		perror("ioctl2");
		exit(errno);
	}

// printf("Setting interface ::: %s ::: to promisc...ok....\n", interface);
 return(1);
}














?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一区二区精品久久911| 91小视频免费看| 午夜影视日本亚洲欧洲精品| 亚洲天堂成人在线观看| 亚洲欧洲av另类| 国产精品久久久久久久久免费樱桃| 精品久久久久久久久久久院品网| 欧美一区中文字幕| 欧美成人精品1314www| 日韩欧美一区二区免费| 欧美成人午夜电影| 国产日韩高清在线| 亚洲欧洲精品天堂一级 | 香蕉加勒比综合久久| 一区二区三区在线免费| 亚洲综合一二三区| 五月天激情综合| 激情五月婷婷综合网| 国产成人一区在线| 91在线视频免费观看| 欧美丝袜第三区| 精品女同一区二区| 国产天堂亚洲国产碰碰| 亚洲美女精品一区| 日本三级亚洲精品| 成人美女视频在线观看18| www.在线成人| 6080国产精品一区二区| 久久亚区不卡日本| 亚洲美女精品一区| 蜜桃视频在线一区| 99久久精品情趣| 91精品国产综合久久蜜臀| 久久精子c满五个校花| 国产精品不卡视频| 日韩极品在线观看| 成人高清免费在线播放| 欧美日韩国产在线播放网站| 久久久精品tv| 亚洲成av人片观看| 不卡av免费在线观看| 欧美丰满嫩嫩电影| 中文字幕不卡在线| 日本不卡不码高清免费观看| 成人av在线网站| 精品美女在线观看| 亚洲影视在线观看| 成人小视频免费观看| 欧美一级日韩一级| 一区二区三区国产| 国产精品69毛片高清亚洲| 欧美日韩国产精品自在自线| 国产精品欧美综合在线| 日本特黄久久久高潮| 91免费看片在线观看| 国产日韩欧美精品一区| 美女一区二区三区在线观看| 欧美日韩在线免费视频| 国产精品拍天天在线| 国产酒店精品激情| 欧美一区二区视频在线观看2022| 亚洲乱码国产乱码精品精小说| 国内精品写真在线观看| 欧美精品一区二区三区一线天视频| 一区二区三区精品视频在线| 福利电影一区二区| 精品美女被调教视频大全网站| 亚洲午夜精品17c| 一本大道av伊人久久综合| 国产亚洲欧美一区在线观看| 紧缚捆绑精品一区二区| 日韩美女视频在线| 美女爽到高潮91| 精品噜噜噜噜久久久久久久久试看| 亚洲国产中文字幕| 精品视频在线免费观看| 亚洲午夜久久久久久久久电影网| 色偷偷成人一区二区三区91| 亚洲欧美自拍偷拍色图| 99r精品视频| 亚洲乱码国产乱码精品精的特点 | 蜜桃av噜噜一区二区三区小说| 欧美中文字幕一区二区三区亚洲| 综合色天天鬼久久鬼色| 91在线视频网址| 亚洲三级在线观看| 欧美性色欧美a在线播放| 亚洲丶国产丶欧美一区二区三区| 欧美色爱综合网| 亚洲福利国产精品| 制服丝袜中文字幕一区| 国内精品久久久久影院薰衣草| 精品久久久影院| 国产成人精品综合在线观看 | 亚洲二区视频在线| 91精品在线一区二区| 激情综合色丁香一区二区| 精品1区2区在线观看| 成人性生交大合| 亚洲综合图片区| 日韩精品专区在线影院重磅| 国内精品国产成人国产三级粉色| 国产无人区一区二区三区| 99re热这里只有精品免费视频| 国产精品二三区| 欧美精品色综合| 国产盗摄视频一区二区三区| 亚洲精品老司机| 欧美一区二区私人影院日本| 成人蜜臀av电影| 日韩精品一级二级| 国产精品每日更新在线播放网址| 91在线视频在线| 蜜桃av噜噜一区| 亚洲欧美一区二区在线观看| 7777精品伊人久久久大香线蕉的 | 麻豆国产一区二区| 国产精品福利影院| 欧美一二三在线| 色欧美片视频在线观看| 蜜臂av日日欢夜夜爽一区| 亚洲视频小说图片| 久久综合九色综合97婷婷女人| 91福利精品视频| 国产999精品久久| 免费在线观看一区| 亚洲一区二区三区小说| 国产欧美一区二区精品性色| 欧美猛男男办公室激情| 91网站在线观看视频| 国产真实乱对白精彩久久| 午夜精品久久久久久久99樱桃| 国产精品人成在线观看免费| 日韩欧美资源站| 欧美日韩国产高清一区二区 | 裸体在线国模精品偷拍| 一区二区三区四区在线免费观看| 久久综合久久综合久久综合| 欧美日本一道本在线视频| 91看片淫黄大片一级在线观看| 激情综合五月天| 精品一区二区三区免费| 天天操天天综合网| 午夜日韩在线电影| 亚洲一区在线免费观看| 亚洲视频在线一区观看| 国产精品毛片大码女人| 久久精品欧美日韩| 国产亚洲综合性久久久影院| 日韩一级视频免费观看在线| 91精品国产色综合久久不卡电影 | 成人毛片老司机大片| 韩国成人精品a∨在线观看| 性做久久久久久| 亚洲bdsm女犯bdsm网站| 亚洲午夜久久久久久久久久久 | 精品视频在线视频| 欧美日韩欧美一区二区| 欧美色电影在线| 91麻豆精品国产91久久久资源速度| 91国内精品野花午夜精品| 91久久一区二区| 欧美亚洲国产一卡| 欧美美女一区二区| 欧美精品久久天天躁| 欧美精选在线播放| 日韩一区二区在线观看视频| 欧美va在线播放| www国产成人免费观看视频 深夜成人网| 日韩欧美在线不卡| 国产亚洲欧美在线| 亚洲天堂中文字幕| 日韩中文字幕区一区有砖一区 | 理论电影国产精品| 国产激情一区二区三区四区 | 91精品国产综合久久福利软件| 欧美一区二区三区婷婷月色| 日韩一级片网站| 国产精品色呦呦| 亚洲一区二区三区精品在线| 日本欧美肥老太交大片| 国产麻豆一精品一av一免费| 成人av在线影院| 51久久夜色精品国产麻豆| 精品99一区二区三区| 亚洲人成网站精品片在线观看| 亚洲最大成人网4388xx| 卡一卡二国产精品 | 欧美日韩在线播| 久久精品一区四区| 久久99国产精品尤物| 成人av在线影院| 91精品久久久久久蜜臀| 久久精品水蜜桃av综合天堂| 亚洲综合色成人| 国产精品自产自拍| 欧美日韩国产免费一区二区| 久久夜色精品国产欧美乱极品| 亚洲人精品午夜| 国产麻豆成人传媒免费观看|