- 浏览: 233109 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
net_liu:
zxptian 写道楼主能把TransferFiles也贴出来 ...
c# Socket 文件的传输 -
zxptian:
楼主能把TransferFiles也贴出来分享下吗?
c# Socket 文件的传输
获取本机和目标机的MAC地址:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Management; using System.Runtime.InteropServices; using System.Net; namespace GetMac { class Program { [DllImport("Iphlpapi.dll")] private static extern int SendARP(Int32 dest, Int32 host, ref Int64 mac, ref Int32 length); [DllImport("Ws2_32.dll")] private static extern Int32 inet_addr(string ip); //获取本机的IP public string getLocalIP() { string strHostName = Dns.GetHostName(); //得到本机的主机名 IPHostEntry ipEntry = Dns.GetHostByName(strHostName); //取得本机IP string strAddr = ipEntry.AddressList[0].ToString(); return (strAddr); } //获取本机的MAC public string getLocalMac() { string mac = null; ManagementObjectSearcher query = new ManagementObjectSearcher("SELECT * FROM Win32_NetworkAdapterConfiguration"); ManagementObjectCollection queryCollection = query.Get(); foreach (ManagementObject mo in queryCollection) { if (mo["IPEnabled"].ToString() == "True") mac = mo["MacAddress"].ToString(); } return (mac); } //获取远程主机IP public string[] getRemoteIP(string RemoteHostName) { IPHostEntry ipEntry = Dns.GetHostByName(RemoteHostName); IPAddress[] IpAddr = ipEntry.AddressList; string[] strAddr = new string[IpAddr.Length]; for (int i = 0; i < IpAddr.Length; i++) { strAddr[i] = IpAddr[i].ToString(); } return (strAddr); } //获取远程主机MAC public string getRemoteMac(string localIP, string remoteIP) { Int32 ldest = inet_addr(remoteIP); //目的ip Int32 lhost = inet_addr(localIP); //本地ip try { Int64 macinfo = new Int64(); Int32 len = 6; int res = SendARP(ldest, 0, ref macinfo, ref len); return Convert.ToString(macinfo, 16); } catch (Exception err) { Console.WriteLine("Error:{0}", err.Message); } return 0.ToString(); } static void Main(string[] args) { Program gi = new Program(); Console.WriteLine("本地网卡信息:"); Console.WriteLine(gi.getLocalIP() + " - " + gi.getLocalMac()); Console.ReadKey(); Console.WriteLine("\n\r远程网卡信息:"); string[] temp = gi.getRemoteIP("WKS049");//目标机名 for (int i = 0; i < temp.Length; i++) { Console.WriteLine(temp[i]); } string remote = gi.getRemoteMac("13.0.0.26", "13.0.0.103");//本机IP和目标机IP StringBuilder b = new StringBuilder(); for (int i = remote.Length - 2; i >= 0; i = i - 2) { b.Append(remote.Substring(i, 2)); b.Append(":"); } if (b.Length > 1) { b.Remove(b.Length - 1, 1); } Console.Write(b); Console.ReadKey(); } } }
发表评论
-
List转DataTable(反射)
2012-02-06 10:48 2741List转DataTable(反射) // ... -
DataTable转泛型
2012-01-31 17:39 1279DataTable转泛型 public clas ... -
利用鼠标钩子将鼠标中键转为左键
2011-05-04 13:50 1646利用鼠标钩子将鼠标中键转为左键 鼠标 ... -
C# 命名规范
2011-04-01 13:32 1971C# 命名规范 文章分类:.net编程 ... -
VS2008 快捷键大全
2011-04-01 13:30 916VS2008 快捷键大全[转帖] 文章分类 ... -
C# 中的委托和事件
2011-04-01 13:26 1287缩略显示 C# 中的委托和事件 文章 ... -
C#Winform限制Textbox只能输入数字
2011-04-01 13:20 7480C#Winform限制Textbox ... -
C# 跳转语句(break,continue,goto,return,throw)
2011-04-01 12:38 3440C# 跳转语句(break,continue,goto,r ... -
C#窗体固定在桌面上
2010-11-19 10:25 1653[DllImport("user32.dll& ... -
if-else 都输出的方法
2010-10-12 11:44 1309if-else 都输出的方法 if (new Func< ... -
反射技术
2010-09-15 17:42 924什么是反射? 反射就 ... -
发一个接口做参数的例子
2010-08-06 08:48 959发一个接口做参数的例子 回头接口 using System ... -
C#中使用正则表达式
2010-08-04 13:39 1339C#中的正则表达式包含 ... -
C#的几个技巧
2010-08-04 13:35 8501.如果可能尽量使用接 ... -
反射动态调用类成员
2010-08-04 13:30 984使用反射动态调用类成员,需要Type类的一个方法:Invoke ... -
在vs2005中发送邮件
2010-08-03 16:14 1148在vs2005中发送邮件的方法如下: ... -
XML数据排序
2010-06-30 14:20 3407根据XML数据的Index 来进行排序 方法一: ... -
程序动态升级版本
2010-06-30 10:00 1000C#实现程序动态升级版本。通过反射获取本地版本,然后跟服务器中 ... -
将DataGridView 数据导出到Excel
2010-06-25 15:46 5096/// <summary> ... -
将Excel导入到Oracle
2010-06-25 15:39 5420private void btnInsert_Click(o ...
相关推荐
这个主题聚焦在如何在PowerBuilder(PB9)中通过纯代码的方式获取本机的IP地址和MAC地址。IP地址是网络上设备的唯一标识,而MAC地址是物理网络接口控制器的唯一硬件地址。下面我们将深入探讨如何实现这一功能。 ...
在当今的网络编程和系统管理中,获取本机的MAC地址和IP地址是基础且常见的需求。在Python这种编程语言中,它提供了丰富的方法来实现这一目标。接下来,我将结合文档中提供的代码和描述,详细介绍如何在Python中获取...
“获取本机信息.exe”这个小工具,正如其名,提供了简单快捷的方式来查看电脑的IP、主机名和MAC地址。在日常维护或问题排查中,这样的工具非常实用。只需运行这个程序,用户就可以直观地看到本机的网络配置信息,...
在获取本机IP和MAC地址模块中,我们使用函数unsigned char *GetSelfMac()来获取本机的MAC地址,该函数负责发送ARP请求数据帧,并解析本机的ARP应答数据帧。 在封装并发送ARP请求帧模块中,我们将ARP请求帧以本地...
在PowerBuilder中,可以使用Winsock控件或者.NET Framework的System.Net.NetworkInformation命名空间来获取本机IP地址。Winsock控件提供了低级别的网络通信功能,可以通过执行适当的Socket命令来获取网络接口的IP...
本工具专注于在Windows操作系统中获取电脑的MAC地址,提供了一种便捷的方法来查看这一关键信息。 获取电脑MAC地址的方法有很多种,但使用专门的工具如"MAC.exe"可以使这个过程更简单,避免了通过命令行或网络配置...
在IT领域,了解和获取本机的IP和MAC地址信息是常见的需求,这对于网络诊断、配置和安全检查都至关重要。本文将深入解析标题和描述中提及的知识点,并提供相关的信息。 首先,我们要知道什么是IP地址和MAC地址。IP...
然而,传统的获取远程主机MAC地址的方法,如通过IP Helper API的SendARP函数,存在明显的局限性——仅能有效在本地网段内工作,对于跨网段的主机,此方法往往只能获取到网关的MAC地址,而非目标主机的真实MAC地址。...
总之,获取MAC地址在PHP中是一个相对复杂的过程,需要根据具体的应用场景和目标系统选择合适的方法。通过理解网络基础和PHP的系统交互,我们可以有效地实现这一功能。在开发过程中,测试不同环境的兼容性和优化性能...
根据提供的文件信息,本文将详细解析如何通过C语言获取本机的MAC地址,同时也会探讨另一种更为通用的方法——使用NetBIOS API。 ### C代码获取本机MAC地址 #### 编程思路概述 作者提到的方法是在Visual Studio ...
通过分析捕获到的 ARP 报文,可以找出本机 IP 地址与 MAC 地址的对应关系。 4 . 3 设置 ARP 请求按钮响应函数当用户触发 ARP 请求时,程序发送一个包含目标 IP 地址的 ARP 请求报文,然后等待并接收 ARP 响应报文。...
本篇文章将详细介绍一款名为“安卓手机MAC物理地址修改工具”的实用软件及其使用方法。 一、MAC地址的概念与作用 MAC地址,又称为硬件地址,是由网络设备制造商烧录在网卡(NIC)上的物理地址。它在网络层中起到...
本指南将详细介绍如何在安卓手机上修改MAC地址,并提供相关工具和教程。 首先,了解为何需要修改MAC地址。网络管理员可能会使用MAC地址过滤来限制设备接入网络,防止未经授权的设备访问。此外,有些应用或服务可能...
在IT行业中,开发应用程序时有时需要获取用户的网络信息,如IP地址和MAC地址。PowerBuilder(简称PB)是一种流行的可视化编程工具,常用于构建数据库应用。在这个场景中,我们需要使用PowerBuilder来编写代码以获取...
根据给定文件的信息,我们可以总结出以下详细的C#知识点及相关代码示例,这些知识点主要涉及如何在C#中获取本地主机以及远程主机的IP地址和MAC地址。 ### 一、获取本地主机IP地址 #### 1. 使用 `Dns.GetHostName()...
4. 调用SendArp()函数,传入目标IP地址、本机接口的IP地址、MAC地址数组以及物理地址长度参数。 5. 检查SendArp()函数的返回值,如果成功则解析MAC地址数组,否则处理错误信息。 6. 最后,将MAC地址以人类可读的格式...
在Web开发中,有时需要获取客户端的网络信息,比如IP地址和MAC地址。这些信息可用于多种用途,如定位用户位置、进行网络监控等。然而,由于隐私和安全方面的考虑,浏览器通常限制了直接获取MAC地址的功能。本文将...
"arping"工具就是这样一个实用程序,它允许用户通过发送ARP请求来获取目标主机的MAC地址。 在C++编程中实现"arping"功能,需要深入理解以下知识点: 1. **ARP协议原理**:ARP协议是基于局域网的协议,当发送方需要...
由于隐私和安全原因,从Android 6.0(API级别23)开始,系统对此进行了限制,不再允许应用直接获取Mac地址。不过,仍有一些方法可以尝试获取Mac地址,尤其是在系统层面或具有特定权限的应用中。以下将详细介绍如何...
1. **初始化**: 设置网络接口,如网卡,获取本机IP和MAC地址,并初始化ARP缓存。 2. **ARP请求构造**: 创建包含目标IP地址的ARP请求报文。报文结构通常包括发送方的IP和MAC地址、接收方的IP地址以及请求类型(ARP...