关于路由的一个小问题

时间:2021-02-12 17:38:58
如果在外网和路由之间介入一个过滤设备,过滤来自路由下面某台电脑的数据包,能通过什么条件辨别到底是哪台主机发出的数据包?我通过抓包发现,出了路由后的数据包的源IP和MAC都被路由改掉了,那么我还能通过数据包里的哪个字段区分主机??

怕我表达不清,画个拓扑图:
关于路由的一个小问题

13 个解决方案

#1


判断MAC 设置一个路由表 

#2


人家MAC都被改掉了,还判断个鸟。
网络上识别身份的只有IP和MAC吧?归根结底还是MAC,除非还有啥唯一标识隐藏在数据段中,比如硬盘序号什么的。但这玩意能用于身份识别?用于加密还差不多。

引用 1 楼 hnuqinhuan 的回复:
判断MAC 设置一个路由表

#3


补充:我觉得你应该去了解下那个路由是怎么判断从服务器上的回传来的包,分发给哪个主机的。

#4


简单的给数据部分加点标记凑活凑活。

#5


源ip被改掉的不是路由,是NAT(网络地址转换)。NAT属于传输层网关,不属于路由。

内网客户端的数据包通过NAT后,源ip被NAT的外网ip替换,源端口替换为外网端口,NAT同时记录下此端口与内网客户端ip和源端口的对应关系,不同的内网客户端或者同一客户端的不同应用会使用不同的外网端口,由外部返回的数据包会直接连接到此外网端口,因此知道外网端口就可以知道是哪个内网客户端。

由于每个网络接口最多只有65535个端口,除去各种服务本身固定使用的端口,实际留给内网客户端的端口数量是有限的,这也是NAT只适用于小型网络的原因。

#6


这样的话,那到底怎样才能判断出来源?那不就要知道路由里面具体的端口映射算法?
引用 5 楼 supermegaboy 的回复:
源ip被改掉的不是路由,是NAT(网络地址转换)。NAT属于传输层网关,不属于路由。

内网客户端的数据包通过NAT后,源ip被NAT的外网ip替换,源端口替换为外网端口,NAT同时记录下此端口与内网客户端ip和源端口的对应关系,不同的内网客户端或者同一客户端的不同应用会使用不同的外网端口,由外部返回的数据包会直接连接到此外网端口,因此知道外网端口就可以知道是哪个内网客户端。

由于每个……

#7


只能看端口。

#8


ip端口映射,你需要得到路由中的映射表

#9


路由上不會有MAC這些資訊傳遞
用的是IP
若再經過NAT轉換IP
只能從服務port上
protocol特徵行為去判斷
例如 Microsoft Network Logon
判斷 netlogon.acct_name (host3使用的AD帳號名)
是host3過來的
參考
http://www.wireshark.org/docs/dfref/r/rpc_netlogon.html

#10


我的建议是,用host3构造一个具有特殊特征字段的数据包,然后过滤条件里加上它就可以了~

#11


这得获取路由的映射表吧

#12


看端口。通过查找NAPT转换表找到正确的主机。

#13


在这种拓扑下,过滤设备改如何获得路由表呢?
引用 11 楼 youjun110 的回复:
这得获取路由的映射表吧

#1


判断MAC 设置一个路由表 

#2


人家MAC都被改掉了,还判断个鸟。
网络上识别身份的只有IP和MAC吧?归根结底还是MAC,除非还有啥唯一标识隐藏在数据段中,比如硬盘序号什么的。但这玩意能用于身份识别?用于加密还差不多。

引用 1 楼 hnuqinhuan 的回复:
判断MAC 设置一个路由表

#3


补充:我觉得你应该去了解下那个路由是怎么判断从服务器上的回传来的包,分发给哪个主机的。

#4


简单的给数据部分加点标记凑活凑活。

#5


源ip被改掉的不是路由,是NAT(网络地址转换)。NAT属于传输层网关,不属于路由。

内网客户端的数据包通过NAT后,源ip被NAT的外网ip替换,源端口替换为外网端口,NAT同时记录下此端口与内网客户端ip和源端口的对应关系,不同的内网客户端或者同一客户端的不同应用会使用不同的外网端口,由外部返回的数据包会直接连接到此外网端口,因此知道外网端口就可以知道是哪个内网客户端。

由于每个网络接口最多只有65535个端口,除去各种服务本身固定使用的端口,实际留给内网客户端的端口数量是有限的,这也是NAT只适用于小型网络的原因。

#6


这样的话,那到底怎样才能判断出来源?那不就要知道路由里面具体的端口映射算法?
引用 5 楼 supermegaboy 的回复:
源ip被改掉的不是路由,是NAT(网络地址转换)。NAT属于传输层网关,不属于路由。

内网客户端的数据包通过NAT后,源ip被NAT的外网ip替换,源端口替换为外网端口,NAT同时记录下此端口与内网客户端ip和源端口的对应关系,不同的内网客户端或者同一客户端的不同应用会使用不同的外网端口,由外部返回的数据包会直接连接到此外网端口,因此知道外网端口就可以知道是哪个内网客户端。

由于每个……

#7


只能看端口。

#8


ip端口映射,你需要得到路由中的映射表

#9


路由上不會有MAC這些資訊傳遞
用的是IP
若再經過NAT轉換IP
只能從服務port上
protocol特徵行為去判斷
例如 Microsoft Network Logon
判斷 netlogon.acct_name (host3使用的AD帳號名)
是host3過來的
參考
http://www.wireshark.org/docs/dfref/r/rpc_netlogon.html

#10


我的建议是,用host3构造一个具有特殊特征字段的数据包,然后过滤条件里加上它就可以了~

#11


这得获取路由的映射表吧

#12


看端口。通过查找NAPT转换表找到正确的主机。

#13


在这种拓扑下,过滤设备改如何获得路由表呢?
引用 11 楼 youjun110 的回复:
这得获取路由的映射表吧