当前位置: 技术问答>linux和unix
为什么我收不到数据包?
来源: 互联网 发布时间:2016-12-10
本文导语: 我的机器是XP的,然后装了个VMware虚拟机,虚拟机装的是Linux CentOS 5.3, 我在虚拟机写了个代码,该程序是向我的XP发送数据包, (该代码是网络上下载的,类似于拒绝服务,我的XP上有IIS,我做了部分修改), (大...
我的机器是XP的,然后装了个VMware虚拟机,虚拟机装的是Linux CentOS 5.3,
我在虚拟机写了个代码,该程序是向我的XP发送数据包,
(该代码是网络上下载的,类似于拒绝服务,我的XP上有IIS,我做了部分修改),
(大概是这样的:
//创建一个TCP的原始套接字
sockfd = socket(AF_INET, SOCK_RAW, IPPROTO_TCP);
//设置IP数据包格式,告诉系统内核模块IP数据包由我们自己来填写
setsockopt(sockfd, IPPROTO_IP, IP_HDRINCL, &on, sizeof(on));
//填写数据包
fill_packet();
//发送
send_tcp(sockfd, &addr);
)
我在XP上用VC写了个sniff程序,可以接受ICMP、TCP、UDP等协议并分析,
现在我在虚拟机上运行DDOS,可是在XP却没有收到该虚拟机上发来的包,
(但可以收到其他的包,比如我上网打开浏览器,或从虚拟机上ping这台XP,能收到数据)
我又做了更改,是程序发送ICMP包,可是XP上仍然收不到。
(我的包肯定有发送出去,因为我在虚拟机上运行一个sniff,它能截获到)
请问:我错在哪了?
我在虚拟机写了个代码,该程序是向我的XP发送数据包,
(该代码是网络上下载的,类似于拒绝服务,我的XP上有IIS,我做了部分修改),
(大概是这样的:
//创建一个TCP的原始套接字
sockfd = socket(AF_INET, SOCK_RAW, IPPROTO_TCP);
//设置IP数据包格式,告诉系统内核模块IP数据包由我们自己来填写
setsockopt(sockfd, IPPROTO_IP, IP_HDRINCL, &on, sizeof(on));
//填写数据包
fill_packet();
//发送
send_tcp(sockfd, &addr);
)
我在XP上用VC写了个sniff程序,可以接受ICMP、TCP、UDP等协议并分析,
现在我在虚拟机上运行DDOS,可是在XP却没有收到该虚拟机上发来的包,
(但可以收到其他的包,比如我上网打开浏览器,或从虚拟机上ping这台XP,能收到数据)
我又做了更改,是程序发送ICMP包,可是XP上仍然收不到。
(我的包肯定有发送出去,因为我在虚拟机上运行一个sniff,它能截获到)
请问:我错在哪了?
|
防火墙有没有关?。。。。。
另外虚拟机和主机的网络连接是什么方式?
另外虚拟机和主机的网络连接是什么方式?