/*************************************自定義發ip包例子(tcp/ip包傳送)
*給目標主機的埠傳送乙個 syn請求,
*注意目標主機的資訊會發給傳送ip位址的主機
*這說明tcp/ip協議本身有ip期騙的漏洞
*這種方運可以自己寫成特殊的基於ip協議上層的自定義協議
************************************/
#include #include #include #include #include #include //ip
#include //tcp
#include //傳送端ip
char srcip="100.100.100.100";
//目標端ip
char dstip="192.168.11.220";
//傳送端ip埠
int srcport=25;
//目標ip埠
int dstport=99;
//以下是從ip.h和tcp.h取的,但bsd和linux用的名稱有些不一樣主要是tcp不一樣
typedef struct _ip
ip;typedef struct _tcpheader
tcpheader;
//校驗和函式 ip頭
unsigned short ipcheaksum (unsigned short *packet, int packlen)
if (packlen > 0)
sum += *(unsigned char *)packet;
while (sum >> 16)
sum = (sum & 0xffff) + (sum >> 16);
return (unsigned short) ~sum;
}//校驗和函式 tcp頭
unsigned short tcpchecksum (unsigned char *iphdr, unsigned short *packet,int packlen)
int main()
//傳送位址
toaddr.sin_family =af_inet;
// inet_aton("192.168.11.38",&toaddr.sin_addr); //字串轉入位址
inet_aton(dstip,&toaddr.sin_addr); //字串轉入位址
//建立原始tcp包方式ip+tcp資訊包
sock = socket(af_inet, sock_raw,ipproto_raw); //ip方式
// sock = socket(af_inet, sock_raw, ipproto_tcp);
if (sock>0)
else
n=1;
if (setsockopt(sock, ipproto_ip, ip_hdrincl, &n, sizeof(n)) < 0)
ip=(struct ip *)buffer;
ip->ip_id=0x9911;
ip->ip_v=4;
ip->ip_hl=5;
ip->ip_ttl=36;
ip->ip_p=6; //tcp 為6
ip->ip_len=htons(60);
inet_aton(dstip,&ip->ip_dst);
// inet_aton("192.168.11.38",&ip->ip_dst);
tcp = (struct tcphdr *)(buffer + (4*ip->ip_hl));
tcp->source=htons(srcport); //源埠
tcp->dest=htons(dstport);
tcp->seq=htons(0x9990);
tcp->doff=0x15;
tcp->ack_seq=0;
tcp->syn=1;
tcp->window=htons(0x20);
inet_aton(srcip,&ip->ip_src);
// ip->ip_src.s_addr=htonl(0x09010101+n);
tcp->check=0x0;
tcp->check=tcpchecksum((unsigned char *)buffer, (unsigned short *)tcp,40);
ip->ip_sum=0;
ip->ip_sum=ipcheaksum((unsigned short *)buffer,20);
bytes_send=sendto(sock,buffer,60,0,(struct sockaddr *)&toaddr,sizeof(toaddr));
if (bytes_send>0)
}
C VC自定義發IP包例子
自定義發ip包例子 tcp ip包傳送 給目標主機的埠傳送乙個 syn請求,注意目標主機的資訊會發給傳送ip位址的主機 這說明tcp ip協議本身有ip期騙的漏洞 這種方運可以自己寫成特殊的基於ip協議上層的自定義協議 include include include include include ...
Python3中自定義包和匯入自定義包
第一篇部落格,寫得質量可能會不高,但希望能開個好頭,努力成為優秀的程式設計師!今天在惡補python基礎知識,發現我對包,庫,模組的定義非常模糊,於是我回頭看了一下基礎知識,也是一時興起想讓跟我一樣一開始有些困惑的人避坑!要想知道什麼是包,得先了解一下模組的概念!知道了模組,那緊接著看看包 上面是我...
自定義控制項最好的例子
在學習了自己定義控制項後,總結了一些關鍵點.下面的是乙個比較實在的好例子.給自定義的控制項屬性加上列舉值.page本身也是乙個控制項,繼承自control類,它是控制項樹的根.為了生成控制項樹,頁面將建立乙個htmltextwrite類例項.在這個例項中封裝了響應流,接著頁面將主個htmltextw...