高分请教--如何知道对方ip的真实来源

see22 2004-11-24 01:04:23
请教大家,
如何知道对方机子的ip是使用真实公网ip,还是通过nat转换而来的,
前提是用C语言编程实现
...全文
219 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
see22 2004-12-02
  • 打赏
  • 举报
回复
谢谢各位的热心
MiracleNo1 2004-11-27
  • 打赏
  • 举报
回复
简单的 gethostbyaddr() gethostbyname()
这并不能得到网络上真正的主机地址。
xfzhao_cn 2004-11-26
  • 打赏
  • 举报
回复
不容易阿,又何必要区分的。
gaoxianfeng 2004-11-26
  • 打赏
  • 举报
回复
有办法!
但是有 宁可错杀一千 不能放走一个之嫌
就是可能误报

但应该是没问题。 不过也看 nat的实现方式了
不过一般都可以
xfzhao_cn 2004-11-25
  • 打赏
  • 举报
回复
错了, mac地址不行的. mac 地址在经过router时,会改变的.

:-)
等待高手,解决呢.
xfzhao_cn 2004-11-25
  • 打赏
  • 举报
回复
是不是可以用MAC 地址来判断.
1. 先发个ping 包,确定对方主机的mac地址.
2. 然后对照对方发来的包里面的mac地址, 与上面的作个比较,看看是否一样,
不一样 -- 肯定是NAT 过来的
一样 -- 可能不是(不过也不能完全确定)
这个我也只是想想, 可能不是很准. (首先要确定目标主机的真实mac地址,比较困难, 光发个ping
可能还不能确定)
大雾 2004-11-25
  • 打赏
  • 举报
回复
gz
wxywh 2004-11-25
  • 打赏
  • 举报
回复
这个不容易区分。
taoxc 2004-11-25
  • 打赏
  • 举报
回复
nat是根据端口号来找子网内的主机的吧?
smaxll 2004-11-24
  • 打赏
  • 举报
回复
单纯分析数据包区分不了
nat转换后的数据包并没有什么特征。
pacman2000 2004-11-24
  • 打赏
  • 举报
回复
这个恐怕没办法吧,不好区分的。
see22 2004-11-24
  • 打赏
  • 举报
回复
是linux下的C, 我只需要知道是否是通过nat转换, 不需要知道对方内网ip

23,121

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧