您的位置:程序门 -> .net技术 -> c#



用c#编写获取远程ip,mac的方法


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


用c#编写获取远程ip,mac的方法
发表于:2007-01-22 16:41:30 楼主
如果要想获得远程的地址,需要用sendarp这个函数来实现。具体的代码如下:
[dllimport( "iphlpapi.dll ")]
private     static     unsafe     extern     int     sendarp(int32     dest,int32     host,ref     intptr     mac,ref     intptr     length);
[dllimport( "ws2_32.dll ")]
private     static     extern     int32     inet_addr(string     ip);

int32     ldest=     inet_addr( "157.60.68.163 ");//目的地的ip
int32     lhost=     inet_addr( "157.60.68.33 ");//本地的ip

try
{
byte[]     macinfo=new     byte[6];
int32     length=6;

intptr     mac=new     intptr(macinfo[0]);
intptr     len=new     intptr(6);
int     ii=sendarp(ldest,lhost,     ref     mac,     ref     len);

console.writeline( "mac     add: "+mac);
console.writeline( "length: "+len);


}
catch(exception     err)
{
console.writeline(err);
}    
 
http://www.cnsdn.com.cn/inc/show.asp?id=4254
发表于:2007-01-22 16:53:431楼 得分:0
占座学习...

帮顶...
发表于:2007-01-22 16:59:332楼 得分:0
有意思,呵呵
发表于:2007-01-22 17:01:393楼 得分:0
学习~~~
发表于:2007-01-22 17:07:214楼 得分:0
支持!!!
发表于:2007-01-22 17:08:175楼 得分:0
这网上到处都有哦!呵呵!搂住精神可嘉!!
发表于:2007-01-22 17:09:376楼 得分:0
web获取服务器


//获取cpu序列号
public   string   getcpuid()
{
string   strcpuid   =   " ";
managementclass   mc   =   new   managementclass( "win32_processor ");
managementobjectcollection   moc   =   mc.getinstances();
foreach   (managementobject   mo   in   moc)
{
strcpuid   =   mo.properties[ "processorid "].value.tostring();
break;
}
return   strcpuid;
}
// //获取硬盘序列号
// public     string   getdriveid()
// {
// string   driveserialnum   =   " ";
// managementobjectsearcher   searcher   =   new   managementobjectsearcher( "select   *   from   win32_physicalmedia ");
// foreach   (managementobject   mo   in   searcher.get())
// {
// driveserialnum   =   mo[ "serialnumber "].tostring().trim();
//
// //driveserialnum   =   mo.properties[ "serialnumber "].value.tostring();
// }
// return   driveserialnum;
// }
//获取网卡mac
public   string   getmac()
{
string   mac= " ";
managementclass     mc   =new   managementclass( "win32_networkadapterconfiguration ");
managementobjectcollection   moc   =   mc.getinstances();  
foreach(managementobject   mo   in   moc)
{
if(mo[ "ipenabled "].tostring()== "true ")      
mac=mo.properties[ "macaddress "].value.tostring();                  
}
return   mac;      
}
发表于:2007-01-22 17:26:517楼 得分:0
留名
发表于:2007-01-22 17:39:528楼 得分:0
看看
发表于:2007-01-22 18:48:399楼 得分:0
看看


快速检索

最新资讯
热门点击