局域网内已知mac地址如何获取其动态ip

qq511388601 2015-05-05 03:33:58
如题,局域网内,一台电脑作为服务器,不想设置固定ip的情况下,每次启动服务器ip动态获取,写的程序怎么能自动根据mac获取ip访问该ip的数据库?求指导。
...全文
420 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
doloopcn 2015-05-06
  • 打赏
  • 举报
回复
Microsoft Windows [版本 6.1.7601] 版权所有 (c) 2009 Microsoft Corporation。保留所有权利。 C:\>arp -a 接口: 192.168.1.102 --- 0xb Internet 地址 物理地址 类型 192.168.1.1 5c-63-bf-f1-**-** 动态 192.168.1.** 00-0b-2f-70-**-** 动态 192.168.1.** ff-ff-ff-ff-ff-ff 静态 224.0.0.** 01-00-5e-00-00-** 静态 224.0.0.** 01-00-5e-00-00-** 静态 224.0.0.** 01-00-5e-00-00-** 静态 255.255.255.255 ff-ff-ff-ff-ff-ff 静态 觉得怪怪的,一定要这样吗? 感觉,你在路由器分配一个静态IP给服务器不就行了?
lyhoo163 2015-05-06
  • 打赏
  • 举报
回复
想了一下,楼主的意图。是反向查,未发现此类的介绍。 我们能换一个思维,通过列举IP址,查MAC地址,比较一下是否是你的MAC,这样查出IP。
lyhoo163 2015-05-06
  • 打赏
  • 举报
回复
这是通过IP查MAC,不是楼主想要的。
tcmakebest 2015-05-06
  • 打赏
  • 举报
回复
查IP的MAC方法
Function sendarp(ipaddr:ulong;temp:dword;ulmacaddr:pointer;ulmacaddrleng:pointer):DWord; StdCall; External 'Iphlpapi.dll' Name 'SendARP';
function Ip2Mac(ip:string):string;
var
    myip:ulong;
    mymac:array[0..5] of byte;
    mymaclength:ulong;
    r:integer;
begin
    Result := '';
    myip := inet_addr(PChar(ip));
    if myip<>ulong(INADDR_NONE) then
        begin
        mymaclength := length(mymac);
        r:=sendarp(myip,0,@mymac,@mymaclength);
        if r=0 then
        begin
            Result := format('%2.2x:%2.2x:%2.2x:%2.2x:%2.2x:%2.2x',[mymac[0],mymac[1],mymac[2],mymac[3],mymac[4],mymac[5]]);
        end;
    end;
end;
tcmakebest 2015-05-06
  • 打赏
  • 举报
回复
一句不想引出多少麻烦, 最靠谱的就是发送UDP广播, 让服务器回应得到IP地址, 然后再获取IP地址对应的MAC地址进行校验.
dengzhen 2015-05-06
  • 打赏
  • 举报
回复
ARP缓存表采用老化机制,因此ARP -a 未必可以返回局域网内的所有IP,我觉得还是Ping 计算机名获得IP地址比较可靠。
lyhoo163 2015-05-05
  • 打赏
  • 举报
回复
目前,只见有 1、计算机名获得IP 2、计算机名获得MAC 3、IP获取计算机
pathletboy 2015-05-05
  • 打赏
  • 举报
回复
引用 3 楼 qq511388601 的回复:
能详细说一下吗?网内最多十台电脑,希望能处理效率高的模式
你希望了解以上2种方式的哪种?
qq511388601 2015-05-05
  • 打赏
  • 举报
回复
能详细说一下吗?网内最多十台电脑,希望能处理效率高的模式
pathletboy 2015-05-05
  • 打赏
  • 举报
回复
还有个方法,采取UDP广播方式,来获取动态IP,这个比较靠谱。
pathletboy 2015-05-05
  • 打赏
  • 举报
回复
调用arp -a 处理返回的内容

1,593

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 网络通信/分布式开发
社区管理员
  • 网络通信/分布式开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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