问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

怎么断开指定IP连接?

发布网友 发布时间:2022-05-16 12:07

我来回答

3个回答

热心网友 时间:2023-10-22 05:47

热心网友 时间:2023-10-22 05:48

伪造IP包,禁止TCP连接
大家是否想过在局域网内如何禁止别人访问web server,pop3,ftp等。那么如何禁止呢?大家都知道TCP是面向连接的,连接时有三次握手,之后才能确认连接成功。那么我们就应该能在第一次握手之后伪造一个服务方的握手返回,从而达到TCP连接不成功,无法访问某端口。程序如下:

void DeCodeIP(buf,iBufSize) //解析侦听到的IP数据包

{

IPHEADER * pIPhdr;

TCPHEADER * pTCPhdr;

pIPhdr=(IPHEADER * )buf;

//获得TCP header的起始位置

int iIphLen = sizeof(unsigned long) * (pIPhdr->h_lenver & 0xf);

pTCPhdr = (TCPHEADER* )(buf+iIphLen);

//判断是否为第一次握手IP数据包,pIPhdr->th_flag=2 即("-s----")

if (iBufSize==48) && (pIPhdr->iProtocol==IPPROTO_TCP) && (pIPhdr->th_flag==2)

sendTCP_SYNACK(szDestIP,szSourceIP,pTCPhdr->destPort,pTCPhdr->srcPort,pTCPhdr->seq);

}

void sendTCP_SYNACK(char * szSrcIP, char * szDestIP,unsigned short srcPort,unsigned short destPort,unsigned int iAck)
{
int iErrorCode;
SOCKET s;
IP_HEADER ip_header;
TCP_HEADER tcp_header;
PSD_HEADER psd_header;
struct sockaddr_in remote;
char * ptr=NULL;
//创建socket
s=socket(AF_INET, SOCK_RAW, IPPROTO_IP);
if (CheckSockError(s, "socket-tcp"))
return FALSE;

BOOL bOpt = TRUE;
iErrorCode = setsockopt(s, IPPROTO_IP, IP_HDRINCL, (char *)&bOpt, sizeof(bOpt));
if (CheckSockError(iErrorCode, "setsockopt-TCP"))
{
closesocket(s);
return FALSE;
}

//---end­
//伪装连接

unsigned short iTotalSize=44;
unsigned short iTCPSize=24;
char *sendBuf=new char[iTotalSize];

ip_header.h_lenver=(4<<4 | sizeof(ip_header)/sizeof(unsigned long));
//高四位版本号,低四位首*度
ip_header.total_len=htons(iTotalSize); //16位总长度
ip_header.tos=0;
ip_header.ident=htons(17393); //16??±êê?
ip_header.frag_and_flags=0; //3??±ê????,13??offset
ip_header.ttl=57; //8??éú′?ê±??TTL
ip_header.proto=IPPROTO_TCP; //8??D­òé(TCP,UDP?­)
ip_header.checksum=0; //16位校验和

ip_header.sourceIP=inet_addr(szSrcIP); //32位远地址?
ip_header.destIP=inet_addr(szDestIP); //32位目的地址?
ip_header.checksum=checksum((USHORT *)&ip_header,20);

//填充TCP首部
tcp_header.th_sport=htons(srcPort); //源端口
tcp_header.th_dport=htons(destPort); //目的端口
tcp_header.th_seq=htonl(0x581A784D); //SYN序列号
tcp_header.th_ack=htonl(iAck+1); //应答序号
tcp_header.th_lenres=(iTCPSize/sizeof(unsigned long)<<4|0); //TCP长度和保留位
tcp_header.th_flag=0x12; //SYN 标志

tcp_header.th_win=htons(65535); //窗口大小
tcp_header.th_urp=0; //紧急指针
tcp_header.th_sum=0; //校验和

//填充TCP伪首部(只用于生成校验和)

psd_header.saddr=ip_header.sourceIP;
psd_header.daddr=ip_header.destIP;
psd_header.mbz=0;
psd_header.ptcl=IPPROTO_TCP;
psd_header.tcpl=htons(iTCPSize);

ZeroMemory(sendBuf,iTotalSize);
//计算tcp校验和,包含伪TCP header
memcpy(sendBuf,&psd_header,sizeof(psd_header));
ptr=sendBuf+sizeof(psd_header);
memcpy(ptr,&tcp_header,sizeof(tcp_header));
ptr=sendBuf+sizeof(psd_header)+sizeof(tcp_header);
*ptr=(char)0x02;*(ptr+1)=(char)0x04;*(ptr+2)=(char)0x05;*(ptr+3)=(char)0xb4;
tcp_header.th_sum=checksum((USHORT *)sendBuf,sizeof(psd_header)+24);

ZeroMemory(sendBuf,iTotalSize);

//填充发送缓冲区

memcpy(sendBuf,&ip_header,sizeof(ip_header));
ptr=sendBuf+sizeof(ip_header);
memcpy(ptr,&tcp_header,sizeof(tcp_header));
ptr=sendBuf+sizeof(ip_header)+sizeof(tcp_header);
*ptr=(char)0x02;*(ptr+1)=(char)0x04;*(ptr+2)=(char)0x05;*(ptr+3)=(char)0xb4;
remote.sin_family = AF_INET;
remote.sin_port = htons(destPort);
remote.sin_addr.s_addr = inet_addr(szDestIP);
iErrorCode = sendto(s, sendBuf, iTotalSize, 0, (SOCKADDR *)&remote, sizeof(remote));
CheckSockError(iErrorCode, "SYNACK sendto");
//伪装关闭连接
iTotalSize=40;
iTCPSize=20;

// end--------
closesocket(s);
delete[] sendBuf;
return TRUE;
}

热心网友 时间:2023-10-22 05:48

ls太强大,偶看不懂
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
这是什么钞票。 请问这是哪个国家的钞票?价值多少人民币?谢谢 快易典学生平板电脑屏幕碎了怎么办,我在书店买的,可以拿到书店修吗... 沧州龟头周围有一圈小肉粒是什么? 快易典学生电脑的屏幕摔坏了,触屏触不了,可以修吗?如果修的话要多少... 西班牙冷汤和哪些菜品搭配更好喝? 西班牙番茄冷汤提示 我想请问你在秦汉胡同学学古筝...一共需要多少钱啊,包括买古筝的钱 word2010如何查看和编辑文档? 胸罩带子老掉,罩杯边有空 玩传奇通通通和PSD怎么设置??? psd文件能查出IP地址吗 早上一杯牛奶一个鸡蛋可以吗 脚跟干裂蜕皮是皮炎,还是真菌引起的? 手心生小红豆并且痒怎么办?真菌性感染的症状是什么? 英文论文发表后如何有效避免抄袭 如何防抄袭? 空白机打普通*丢失,已做登报罚款,可以自己在电脑上作废吗?还是需要到税务局?_百度问一问 污水中的悬浮物粒度怎么测定 测量粒子速度的实验有哪些 双脉冲PIV激光器[合束质量,重复频率(Repetition rate),每一个双脉冲的脉冲能量对PIV测量的影响 为什么piv实验中要不断调整两束激光的强度 ios9.1能降级到移动15.5吗 ios7.12可以加载15.5吗 苹果手机系统版现在为什么是iOS15.5.5? 苹果15.5怎么恢复到12.5 ios15.5多久发 我是苹果13promax.想更新ios15.5RC测试版本,请问大家需要更新吗?给个建议,谢谢! iOS15.5有没有对吃鸡的麦有好处? 15.5多会儿更新 PS打开PSD文件时提示该内存不能为read 低通滤镜计算公式 我刚下了个网页模板,用PTF该怎么上传呢?模板各个文件都代表这什么? 自己做的网页不显示图片的问题,看内容吧。。 域名解析,也绑定空间了,如何上传网站? flash中的滤镜含义是什么 求问PS的滤镜的算法除了高斯模糊还有什么和概率统计的内容相关呢? 准备做一个概率统计的大作业,多谢! QQ影音里面在线匹配中文字幕成功是怎么回事,哪来的字幕? 影音风暴看不到中文字幕 现在还能申购050008基金吗? 圣元优博早产儿奶粉700g的多少钱一罐?看图片,知道的说下谢谢 新西兰蓝河羊奶粉价格 五笔好难,怎么办 我觉得五笔好难打啊 五笔打字好难啊!!!怎么才能会打啊?伤脑经? 建行龙卡emv信用卡(visa金卡)的额度是多少? 千张要蒸好还是焯水好 国际标准mastercard emv是金卡吗? 临安哪里的山核桃好吃 唐十八陵是我国伟大的遗址之一吗?