阅读:2530回复:23
ip欺骗的问题,谢谢!!
我使用局域网两台机器作实验:
1、在其中一台上安装imd驱动,该驱动实现下面功能:修改该主机发出的包,把ip包中的源ip地址为局域网内不存在的ip,同时修改ip校验和和tcp校验和,使用sniffer工具观察发出的包; 2、在另外一台机器上使用sniffer工具观察收到的包,发现下面两个奇怪的问题: A、在发送的机器上发现一个发送命令总有两个包被发出,第一个是源ip地址没有被改变的包,第二个是源ip地址改变了的包,可我在驱动的mpsend函数中改的啊,怎么会有第一个包呢? B、在接受的机器上只收到ip被改的那个包,可是它并没有给这个假ip回一个syn+ack的包,这是为什么? |
|
最新喜欢:WY.lsl... |
沙发#
发布于:2003-07-23 14:29
我使用局域网两台机器作实验: |
|
|
板凳#
发布于:2003-07-23 15:05
checksum我想应该没有问题,这个数值我在应用层验证过的
至于丢包,我不太明白,包为什么会丢呢? |
|
地板#
发布于:2003-07-23 15:25
目的ip不正确指什么呢?我想它总该给那个伪装了ip的机器回一个包吧?
syn flood攻击的一种方式不就是伪装ip然后向受害机器发大量的syn包,然后受害机器回包给不存在的ip机器,最后造成资源耗尽么? |
|
地下室#
发布于:2003-07-23 17:03
偶是说你的目的IP不正确。那台机器收到了就丢报。呵呵。
应该不太可能。 你用ICMP测一下看有回应不? |
|
|
5楼#
发布于:2003-07-23 17:07
我使用局域网两台机器作实验:
1、在其中一台上安装imd驱动,该驱动实现下面功能:修改该主机发出的包,把ip包中的源ip地址为局域网内不存在的ip,同时修改ip校验和和tcp校验和,使用sniffer工具观察发出的包; 2、在另外一台机器上使用sniffer工具观察收到的包,发现下面两个奇怪的问题: A、在发送的机器上发现一个发送命令总有两个包被发出,第一个是源ip地址没有被改变的包,第二个是源ip地址改变了的包,可我在驱动的mpsend函数中改的啊,怎么会有第一个包呢? //如果是在另一台计算机上抓的包,我也不明白了,你搞清楚了,告诉俺一声. B、在接受的机器上只收到ip被改的那个包,可是它并没有给这个假ip回一个syn+ack的包,这是为什么? //如果假IP与监视机(即回应ACK的计算机)是在同一网段,可能是ARP带来的问题 [编辑 - 7/23/03 by longfoot] |
|
6楼#
发布于:2003-07-23 17:11
发包机器ip:192.158.11.33,驱动把ip改成了:192.158.11.89(该ip不存在,我用icmp ping 过了,不通)
收包机器ip:192.158.11.5,我在这台机器上用sniffer看包(包括发出的和接受到的),只见有从192.158.11.89发过来的包,不见从192.158.11.5发到192.158.11.89的包,我对后面这个我认为应该发出但没有发出的包感到奇怪。 你的意思是让我用icmp ping192.158.11.89这个ip地址是么? |
|
7楼#
发布于:2003-07-23 17:28
B机器收到局域网一个网段的两台机器ip地址不同,mac地址相同,你说他还会怎么做?
|
|
|
8楼#
发布于:2003-07-23 17:50
to longfoot:
我使用局域网两台机器作实验: 1、在其中一台上安装imd驱动,该驱动实现下面功能:修改该主机发出的包,把ip包中的源ip地址为局域网内不存在的ip,同时修改ip校验和和tcp校验和,使用sniffer工具观察发出的包; 2、在另外一台机器上使用sniffer工具观察收到的包,发现下面两个奇怪的问题: A、在发送的机器上发现一个发送命令总有两个包被发出,第一个是源ip地址没有被改变的包,第二个是源ip地址改变了的包,可我在驱动的mpsend函数中改的啊,怎么会有第一个包呢? //如果是在另一台计算机上抓的包,我也不明白了,你搞清楚了,告诉俺一声. @@@我是说的这台发包的机器 B、在接受的机器上只收到ip被改的那个包,可是它并没有给这个假ip回一个syn+ack的包,这是为什么? //如果假IP与监视机(即回应ACK的计算机)是在同一网段,可能是ARP带来的问题 @@@ARP带来的问题?你是说不同的ip对应相同的mac么?可是我从接收端看到的只是假的ip发过来的包啊?不太明白,请明示。 to mikeluo:你是指b机器有arp的高速缓冲列表,如果它发现局域网一个网段的两台机器ip地址不同,mac地址相同,那么就不再发回复包了对么? 其实我只是写一个测试用的驱动程序,要实现下面功能: tcp三次握手: 1、A向B发SYN; 2、B向A发SYN+ACK; 3、A向B发ACK,这时我需要这个ACK包在延时1秒后再发。 我采用延时的方式,在mpsend中加延时,发现会死机,于是我采用ip欺骗的方式,A在被改变ip后,第三个ack包总是不会有了,可又出现了第二个“B向A发SYN+ACK”也没有出现。 如果各位大侠有好的解决方案请给我个建议,谢谢!!! |
|
9楼#
发布于:2003-07-23 20:04
B机器收到局域网一个网段的两台机器ip地址不同,mac地址相同,你说他还会怎么做? 这个没有影响,我发现在LAN我故意把两个机器的MAC改成一样,没有任何问题. //由此带来一个疑问,假如两个机器的MAC是一样的也能互相访问 //如果网卡不是混杂模式,估计就OVER了 |
|
|
10楼#
发布于:2003-07-23 20:57
在a机器上抓到两个包是因为你装的是2k的imd
b机器上没有发包如果不是mac地址的问题就是报文有问题。 |
|
|
11楼#
发布于:2003-07-24 09:48
mikeluo:
在a机器上抓到两个包是因为你装的是2k的imd //2k imd为什么会有这个问题呢?是不是xp的就没有呢? b机器上没有发包如果不是mac地址的问题就是报文有问题。 //我把ip地址修改了之后,ip和tcp的校验和都重新计算过了,我想报文应该没问题吧,你说的mac地址问题是不是上个贴子的“B机器收到局域网一个网段的两台机器ip地址不同,mac地址相同,你说他还会怎么做? ”呢? :( |
|
12楼#
发布于:2003-07-24 10:18
B、在接受的机器上只收到ip被改的那个包,可是它并没有给这个假ip回一个syn+ack的包,这是为什么?
这个问题我认为是:接受的机器上没有和这个ip的mac地址对应的arp项,你可以用arp -a命令看看。 |
|
|
13楼#
发布于:2003-07-24 11:04
to dino:
我按照你说的用arp命令试了一下,确实没有这个ip的mac地址对应的arp项。 下面是我做的处理: 我使用静态添加的方法把发送机器的假ip和它的mac地址的对应表添加了,并把发送机器真ip和mac地址的对应表删除,这样就避免了mikeluo说的同一个mac对应两个ip的问题 结果: 可是仍旧不能看到接收机器向发送机器发的“syn+ack\"包。 分析: 我又重新看了一下校验和,还是没有什么问题啊,我只是修改了发送包的源ip啊,还会是哪里的问题呢?? |
|
14楼#
发布于:2003-07-24 11:35
我在局域网内试的时候也遇到过这个问题,如果那个伪造的ip是局域网内存在的,回应是会发出的,但如果没有机器使用这个IP,回应就不会发出去了。
|
|
|
15楼#
发布于:2003-07-24 13:03
今天试了以下,发现如果MAC不正确,那么确实不会回应包。
也就是说必须在目的机器的ARP表中保存了和你伪装的IP对应的MAC 他才会回应包 解决的方法是: 1。如果你的LAN中,如果有2台以上的机器,把他伪装 成另外一台机器的IP,在发出去应该就可以了。 2。在内核中发一个ARP出去。等ARP回来后,在将你的包发出就可以了。 方法2我刚刚实验完IS OK!不过会把第一个PING 丢掉 :D |
|
|
16楼#
发布于:2003-07-24 13:14
方法2是什么意思?是自己做一个arp包刷新接受机的arp表?
|
|
|
17楼#
发布于:2003-07-24 13:16
to dino:
你说的很正确,我刚才做了一个测试,把ip伪装成lan中存在的ip,现在我的接收机器能够发“SYN+ACK”的包了,那么现在就剩下一个问题了: 我如何将发包机器的ip伪装成lan中不存在的ip后,我的接收机器还能够发“SYN+ACK”包? to antspower: 1、我使用静态添加的方法把发送机器的假ip和它的mac地址的对应表添加了,并把发送机器真ip和mac地址的对应表删除,这样就避免了mikeluo说的同一个mac对应两个ip的问题,这样是不是就应该回“SYN+ACK”包了? 2、根据你的回复: 解决的方法是: 1。如果你的LAN中,如果有2台以上的机器,把他伪装 成另外一台机器的IP,在发出去应该就可以了。 //还是需要把ip地址伪装成lan中的一台机器是么?那么这样还是不能达到我的目的啊?因为存在的这个机器会很快给我发一个RST包啊? 2。在内核中发一个ARP出去。等ARP回来后,在将你的包发出就可以了。 方法2我刚刚实验完IS OK!不过会把第一个PING 丢掉 //我不太明白,能详细点么? |
|
18楼#
发布于:2003-07-24 13:35
方法2是什么意思?是自己做一个arp包刷新接受机的arp表? 你说的很对,刷新对方机器的ARP表,让对方机器知道你的那个冒牌 IP对应的MAC,如果IP是外网的,那就可以免了,因为网关的MAC 是知道了 [编辑 - 7/24/03 by antspower] |
|
|
19楼#
发布于:2003-07-24 14:24
伪造arp包刷新对方的arp表的试验我也做过的。但是你伪造的ip必须也是一个在局域网上存在的机器的ip,如果这个ip在局域网内不存在,那么这台机器也不会发送这个回应的。
|
|
|
上一页
下一页