阅读:1213回复:7
提问!
我写了个app,向对方不存在的端口发UDP包,可以看到有ICMP回应,type3,code3,即端口不可达。
但是我在IMD,自己构造一个UDP的包,发出去。对方却没有回应。 ?? |
|
沙发#
发布于:2003-10-16 10:02
确定包没有错?在内核里面还要注意字节序的问题,我觉得是你的包不对。呵呵!
|
|
|
板凳#
发布于:2003-10-16 10:11
用Sniffer或者别的抓包工具看看,
如果有错误的话,一般会帮你分析出来。 |
|
地板#
发布于:2003-10-16 10:21
抓包看看的报文是什么样子的?估计有错误
|
|
|
地下室#
发布于:2003-10-16 11:50
今天回复的好快呀 :D
我装了sniffer portable。我抓包看看。 字节序我注意了的。 对了,我把UDP的checksum设置为0,有影响吗?不是说是可选的? :P |
|
5楼#
发布于:2003-10-16 14:46
我在目的机上抓包。
发现: 1、我的app向目的机不存在端口发UDP,目的返回ICMP(不可用端口),被我的IMD拦截到,IMD会又发个不存在端口的UDP到目的。这个UDP包可以抓到。 2、正常情况下,我的IMD发现目的机的包,都会发个UDP包回去。但是不用app发包的话,不能抓到IMD的UDP包。 ft 另: IP头的checksum不用高低换位吗?我抓包的时候发现我的IP checksum是反的 :D [编辑 - 10/16/03 by arthurtu] |
|
6楼#
发布于:2003-10-16 15:16
不能抓到包是什么意思?在目的机器上抓不到imd发出去的udp包?
那就是没有发出去啊。 目的机器是接到hub上的吧? |
|
|
7楼#
发布于:2003-10-16 16:01
呵呵,劳烦版主和黑僧了 :D
我找到原因了。 我把IP地址设置为目的机的,但是Ehternet的硬件地址没有设置成目的机的 :P 来test的,就没有注意到这个。 所以从目的机来的包,我的IMD就恰好能正常的回发,别的机子的包,数据就不对了。 抱歉抱歉 :D |
|