局域网里的机器,给我的外网服务器发包的时候,我怎么判断它是第一次发包(300)

  • 主题发起人 主题发起人 Dstorm
  • 开始时间 开始时间
D

Dstorm

Unregistered / Unconfirmed
GUEST, unregistred user!
局域网里的机器,给我的外网服务器发包的时候,我怎么判断它是第一次发包!upd协议客户端不是我写的!
 
发包的内容加上 “我是第一次” 那就可以了。
 
客户端不是我写的!老白!
 
那就没办法了。
 
客户端连上来后第一次收到的包就是了啊,不会服务端也不是你写的吧?
 
服务器端收到的第一个包就是啊
 
自己建一个IP表,每次连接的时候比较一下,是第一次的就加入IP表,给分吧
 
还有难度的=》jacket84,ypy,局域网里N台你怎么知道其中一台是第一次?tswhq,》》》????????
 
除非我搞到 局域网 路由的映射表?????????????????????
 
局域网内的机器是不是都有IP地址,考虑到内网内的多台机器走外网的时候都是同一个IP,你这时取一下主机名看看,然后保存一个列表,记录是否发过包。当然还有一种情况,你取不到机器名,取到的IP地址都是同一个外网地址,这个就比较难办了。
 
==>jacket84, 考虑到内网内的多台机器走外网的时候都是同一个IP,那取主机名有何意义??想想吧!
 
这个我当然知道,如果仅用delphi的udp当然无解。建议你用Wireshark这样的抓包软件看看,UDP发过来的包带了那些报文头信息。好像除了IP地址之外还带了mac地址什么的。这些抓包工具应该都用的是一个winpcap的库,建议研究研究看看吧。其他的我也帮不上忙,还是你自己想想吧!
 
呵呵,能像jacket84这么热情的不多了,我的服务端是Liunx netfilter框架写的过滤驱动,你说的都没错,可惜帮助不大哦!在等等,结贴!
 
http://www.qtasp.cn/wiresharkcharpt/buildingwireshark.html 看看这个有没有用哦
 
后退
顶部