通过对方 IP 找到对方网卡的 MARC 地址(100分)

  • 主题发起人 主题发起人 qknife
  • 开始时间 开始时间
Q

qknife

Unregistered / Unconfirmed
GUEST, unregistred user!
我是在写一个程度: 通过对方 IP 找到对方网卡的 MARC 地址,遇到的问题。
各种方法都尝试过了,都遇到不同的问题。请问那位朋友有这样的函数,让俺学习一下,100分相赠。
 
nbtstat -a IP
用Dos shell:winexec(pchar('cmd.exe/c nbtstat -a IP>temp'),sw_hide);
sleep(3000);
memo1.lines.loadFromFile(temp);
 
还要 sleep(3000)。 这个dos调用的方法很落后,效率也不高。有winAPI方法和RPC方法的实现例程最好。 我这里有 ,但都有些问题 调不通。 哪位朋友有调通的,我也就不费尽了。
 
同一网段:
SendArp
不同网段:
Arp不可路由,不能用SendArp了[:(!]
建立Socket连接,如果对方没有防火墙[8D]
 
是不是这个:
http://www.delphibbs.com/delphibbs/dispq.asp?lid=2101425
 
一曲新词酒一杯:
说的很实在,很在点子上。
方法1) 我用了sendarp,可是编译出错,不知道use 哪个东东啊?
2) socket方法,小弟不熟,哪里有现成的原码,我来捉摸捉摸。对了,对于局域网内,也可以用此方法把。
如果分数嫌少,小弟愿意慷慨解囊,广交天下好友。
mail: qknife_lee@sina.com
 
使用 SendArp Borland没有相应的头文件。你可以到以下地址下载。
ftp://delphi-jedi.org/api/IPHlpAPI.zip Uses IPHlpApi
使用Socket方式,就无论是否是局域网了。但无法得知对方是否允许打开端口、建立连接。
总感觉不是完美的解决方案。况且如扫描对方机器...这个总觉得不好[:)]
 
同意。
如果,远程方式,非要用socket方式查询一下其是否是合法的MARC,能传给我原码吗?
再次衷心感谢。
 
http://www.138soft.com/0808.rar
朋友写的
我把代码抽出来了
哈哈哈
 
谢谢JingTao:
我可能没说清楚: 我要的是delphi的实现此功能的原代码阿,呵呵。
 
发UDP包
大富翁论坛有代码的
自己找找吧
呵呵
 
这个问题难倒delphi了吗? 还是没有delphi高手? 能不能来高手,彻底解决这个问题?
 
分数不够,我再加! 快来人啊
 
请斑竹帮忙吧。
 
这个问题 ,真的难倒 delphi 业内的人士了吗?
 
多人接受答案了。
 
后退
顶部