QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1133|回复: 13

使用ethereal分析ip包头的疑惑

[复制链接]
发表于 2005-1-28 18:45:19 | 显示全部楼层 |阅读模式
我使用的网关是使用iptables共享上网,redhat9.0的操作系统
我用在我的一台内网的机器上用ethereal捕捉ip包,并分析包头,我发现有很多包的目的地址destination:都是内网的ip, 或着传出去的包的源地址也是内网的,如果是这样源地址或者目的地址有一个用的是内网的私有ip并不是共网的(或者是ADSL拨号后分配的共网ip)那么ip传输怎么实现的啊?ip包是怎么到达对方的地址,或者对方又是怎么根据源地址回应的?
[/url][/quote]
发表于 2005-1-28 19:45:16 | 显示全部楼层
我看ethereal 也是乱七八糟的
回复

使用道具 举报

 楼主| 发表于 2005-1-29 15:30:46 | 显示全部楼层
大哥们,你们帮个忙发表一下自己的看法啊,
还有古公,你每次都帮过我啊,
回复

使用道具 举报

发表于 2005-1-29 17:10:15 | 显示全部楼层
usage
tethereal我一般用这个命令行去看的~~~没发觉有问题啊~~~
回复

使用道具 举报

发表于 2005-1-30 17:58:50 | 显示全部楼层
内网中的电脑要发出去外网的数据包,在达到网关前应该还是使用内网的IP地址。
比如说,192.168.1.132—〉202.96.128.143的数据包,在内部局域网中,数据包的地址还是192.168.1.132——〉202.96.128.143
当这个数据包到达网关后,在发送到外网前iptables会把这个数据包的源地址改成你的ADSL拨号分配的地址202.78.32.156——〉202.96.128.143
回复

使用道具 举报

 楼主| 发表于 2005-1-31 09:17:12 | 显示全部楼层
那外网回应给源地址的包,应该是回应给网关的,那么网关如何判断这个包的目的地址是内网中的哪个主机呢?根据什么再对目的地址进行转换?


是不是根据ARP啊?(小弟瞎蒙的)请大哥们指点。
回复

使用道具 举报

发表于 2005-1-31 09:57:14 | 显示全部楼层
咳..咳...
其实我也是半桶水。。。
这个iptables会纪录的。

你所困惑的是:当网关收到一个外部网络的数据包,网关怎么知道这个数据包是发个谁的??

其实仅仅启用了地址伪装,外部网络是不能主动连接内部网络的电脑的。也就是说,网关把这个数据包当作是给自己的,而不会把数据包转发到内部网络。内部网络对外是隐藏的。也就是说在这种情况下,只能是由内部电脑主动发起连接。简单的说,iptables会纪录这些连接,这样的话当iptables收到外部网络的数据包,iptables根据纪录就会知道这个数据包是发给自己的还是发给内部网络上的电脑的。

总之一句话,有记录的数据包是转发到内部网络的,没有记录的数据包就当做法给自己的。而有记录的数据包都是属于内部网络发起连接的数据包,没有记录的数据包一般是外部网络发起连接的数据包。当内部网络搭建了服务器,外部网络是不能连接到服务器的,如果你想让服务器能被外部网络访问,你得利用iptables的目的地址转换功能(地址伪装就是源地址转换)。

具体的你可以找iptables的资料看看。
回复

使用道具 举报

 楼主| 发表于 2005-1-31 11:12:56 | 显示全部楼层
GGGO 你好,各位大哥好
  我想问一下,如你所说,那么iptables,或者其他地址转换工具是根据记录来判断应该将网关上的接收包往哪儿发,那么请指导一下到底这个记录是怎么记录的,记录的内容是什么?iptables是以记录里面的什么去判断接收的内网地址的,比如内网内两台机器同时向外网的同一ip的同一端口做请求,对方回应包到达网关后iptables的转发流程,请问在linux里面哪儿可以查看这个记录

有没有什么资料推荐给我看看,这个问题困惑小弟很久了
回复

使用道具 举报

发表于 2005-1-31 21:23:46 | 显示全部楼层
实在对不住了。
我自己也是半懂不懂的。iptables是怎样纪录的我也不清楚,大概知道是通过IP、端口、协议类型来实现的。
目的地是同一IP地址和相同的端口,但是源端口不同啊(源IP地址经过转换成同一个地址)。还是可以区分的。要是万一万一,连源端口也相同,好像iptables会改动其中的一个源端口。
回复

使用道具 举报

发表于 2005-1-31 21:25:05 | 显示全部楼层
怎么不能删除帖子了??
不小心发了两个帖子
回复

使用道具 举报

 楼主| 发表于 2005-2-2 09:20:43 | 显示全部楼层
这个过程有依据的ip协议吗?或着有什么更细一点的理论或实现过程可以查看一下吗?
回复

使用道具 举报

发表于 2005-2-2 12:39:40 | 显示全部楼层
ip_conntrack
回复

使用道具 举报

 楼主| 发表于 2005-2-2 18:08:59 | 显示全部楼层
IP_conntrack表示连接跟踪数据库,那这个数据库有没有办法看到其中的内容?
回复

使用道具 举报

发表于 2005-2-2 21:58:29 | 显示全部楼层
基于libcap的冬冬都是有一个前端软件可以用了, google一下如何?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-6 13:27 , Processed in 0.062599 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表