发一个MAC地址出去搜寻(Client端并不知Server的IP地址,但是Server有程序运行的,就是当它收到这个包时它就返回它的IP地址)我不太清楚Client端怎么设计用到哪些协议与知识,我对Client端不知Server的IP地址而能访问到它有些迷惑
有详细列子更好!

解决方案 »

  1.   

    要解决这个问题,有折中的办法,如client 访问一个中间网站,server将自己的ip地址写到这个中间网站,这样就连接起来了,这是很多木马软件惯用的方法,用这种方法很容易扩充到多级连接,如将第一连服务器返回一个二级服务器的ip,然后二级服务器返回三级服务器的地址,依次类推
      

  2.   

    得到服务器IP并不需要这么麻烦的,遍历整个LAN即可.
    或者你可以在双方定义一个发送和接收协议,使用socket编程即可.例子暂时没有.
      

  3.   

    谢谢Oldworm让我长了见识
    但我客户方只有MAC地址
    kingzai()大哥Socket通讯,Client端一般需要Server的IP我不知这咂办,功力不够啊
      

  4.   

    不清楚你说的服务器端的程序怎么运行。不过可以大致描述一下客户端怎么和服务器端“通讯”的原理。
    在以太网里不考虑switch的因素,以太网包都是广播的。这也是那么多监听IP包的程序的根本原理。
    另外以太网本身也支持广播,就是在以太网包的目的地址里设成广播地址(六个FF)。
    你的服务器端的程序怎么运行的,对你客户端的程序怎么编至关重要,一定要搞清楚,要不然谁也帮不了你。
    你的问题有点象RARP协议要解决的问题,只不过RARP是解决从网卡启动的主机获得自己的IP地址的问题,你的是要解决获得别人的IP地址的问题。
      

  5.   

    我服务器端就是收到MAC地址要求以后发回它的IP地址,流程其实就这么简单
      

  6.   

    你可以使用ARP协议来获得对方的IP地址,然后再发送数据给对方。
      

  7.   

    如果在一个子网内可以使用遍历来搜索SERVER的IP地址。这个方法,要知道服务器的服务端口号才行。给我发消息,我可以发一个这方面的例子给你。
      

  8.   

    ARP协议不熟,有点头大
    不过我看看资料先,
    如果得详细指点那就多谢了