免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1561 | 回复: 1

libnet 之FIN包问题 [复制链接]

论坛徽章:
0
发表于 2010-05-13 17:36 |显示全部楼层
本帖最后由 空灵静世 于 2010-05-14 08:59 编辑

代码如下:
/*
* main.c
*
*  Created on: 2010-5-13
*      Author: root
*/
#include <unistd.h>
#include <stdlib.h>
#include <stdio.h>
#include <libnet.h>
int main(){
                int packet_size;
                libnet_t *l;
                libnet_ptag_t tcp_protocol_tag = 0;
                libnet_ptag_t ip_protocol_tag = 0;
                libnet_ptag_t ethreal_protocol_tag = 0;
                u_short protocol=IPPROTO_TCP;
                u_short srcport = 53718;
                u_short destport = 22;
//                u_char payload[255] = "";
                u_long payload_size = 0;
                char *device ="lo";
                char error_infomation[LIBNET_ERRBUF_SIZE];
                char *destination_ip_str = "127.0.0.1";
                char *source_ip_str = "127.0.0.1";
//                u_char hardware_source[6] = {0x01,0x02,0x03,0x04,0x05,0x07};
                u_char hardware_destination[6] = {0/*0x00,0x22,0x64,0xAA,0x76,0xE1*/};
                u_long destination_ip ;
                u_long source_ip;
                l = libnet_init(LIBNET_LINK_ADV,device,error_infomation);
                destination_ip = libnet_name2addr4(l,destination_ip_str,LIBNET_DONT_RESOLVE);
                source_ip = libnet_name2addr4(l,source_ip_str,LIBNET_DONT_RESOLVE);
//                strcpy((char *)payload,"test");
//                payload_size = strlen((char *)payload);
                tcp_protocol_tag = libnet_build_tcp(srcport,destport,906167847,897503426,TH_FIN,32767,0,0,LIBNET_TCP_H+payload_size,NULL,payload_size,l,0);
                ip_protocol_tag = libnet_build_ipv4(LIBNET_IPV4_H+LIBNET_TCP_H+payload_size,/*IPTOS_LOWDELAY*/0,241,
                                                                                                                                                                                                                0,64,protocol,0,source_ip,destination_ip,NULL,0,
                                                                                                                                                                                                                l,ip_protocol_tag);
                ethreal_protocol_tag = libnet_autobuild_ethernet(hardware_destination,ETHERTYPE_IP,l);
                packet_size = libnet_write(l);
                libnet_destroy(l);
                return 0;
}
为什么FIN没有效果,为什么 tcpdump 看到的和 正常的FIN不一样,为什么我的没有ACK字段的?以下是tcpdmp 结果:
17:15:14.600989 IP localhost.localdomain.53718 > localhost.localdomain.ssh: S 906167846:906167846(0) win 32792 <mss 16396,sackOK,timestamp 735311 0,nop,wscale 7>
17:15:14.601023 IP localhost.localdomain.ssh > localhost.localdomain.53718: S 897503405:897503405(0) ack 906167847 win 32768 <mss 16396,sackOK,timestamp 735311 735311,nop,wscale 7>
17:15:14.601043 IP localhost.localdomain.53718 > localhost.localdomain.ssh: . ack 897503406 win 257 <nop,nop,timestamp 735311 735311>
17:15:14.614033 IP localhost.localdomain.ssh > localhost.localdomain.53718: P 897503406:897503426(20) ack 906167847 win 256 <nop,nop,timestamp 735324 735311>
17:15:14.614061 IP localhost.localdomain.53718 > localhost.localdomain.ssh: . ack 897503426 win 257 <nop,nop,timestamp 735324 735324>
17:16:05.593554 IP localhost.localdomain.53718 > localhost.localdomain.ssh: F 906167846:906167846(0) win 32767
17:16:37.918979 IP localhost.localdomain.53718 > localhost.localdomain.ssh: F 906167847:906167847(0) win 32767
17:17:14.616818 IP localhost.localdomain.ssh > localhost.localdomain.53718: F 897503426:897503426(0) ack 906167847 win 256 <nop,nop,timestamp 855352 735324>
17:17:14.617022 IP localhost.localdomain.53718 > localhost.localdomain.ssh: F 906167847:906167847(0) ack 897503427 win 257 <nop,nop,timestamp 855352 855352>
17:17:14.617039 IP localhost.localdomain.ssh > localhost.localdomain.53718: . ack 906167848 win 256 <nop,nop,timestamp 855352 855352>

论坛徽章:
0
发表于 2010-05-14 13:38 |显示全部楼层
知道原因了,是序列号的问题
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP