可以获得局域网ip吗?

mxch 2008-07-01 12:23:54
如果几个用户用同一个公网ip上网,可以获得其的局域网ip吗?
...全文
239 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
sxmonsy 2008-07-26
  • 打赏
  • 举报
回复
友情UP
mxch 2008-07-26
  • 打赏
  • 举报
回复
再up
glboy12 2008-07-02
  • 打赏
  • 举报
回复
Request.UserHostAddress
「已注销」 2008-07-02
  • 打赏
  • 举报
回复
mark
devilsu 2008-07-02
  • 打赏
  • 举报
回复
学习下!!
s208ping 2008-07-01
  • 打赏
  • 举报
回复
不可以吧,要那么详细做什么
mxch 2008-07-01
  • 打赏
  • 举报
回复
先谢谢各位
按carkiller 做了下
运行后没有反映,好象死了!
carkiller 2008-07-01
  • 打赏
  • 举报
回复
可以的,试试看这个

static void Main()
{
Application.Run(new Form1());
}

private void Form1_Load(object sender, System.EventArgs e)
{

}

private void button1_Click(object sender, System.EventArgs e)
{
GetIPAddress();
}
public static string ReadMac(string ip)//传递IP地址,即可返回MAC地址
{
string mac = "";
System.Diagnostics.Process p = new System.Diagnostics.Process();
p.StartInfo.FileName = "nbtstat";
p.StartInfo.Arguments = "-a " + ip;
p.StartInfo.UseShellExecute = false;
p.StartInfo.CreateNoWindow = true;
p.StartInfo.RedirectStandardOutput = true;
p.Start();
string output = p.StandardOutput.ReadToEnd();
int len = output.IndexOf("MAC Address = ");
if(len>0)
{
mac = output.Substring(len + 14, 17);
}
p.WaitForExit();
return mac;
}
public void GetIPAddress()
{
DirectoryEntry entryPC = new DirectoryEntry("WinNT:");
ArrayList arr=new ArrayList();
foreach(DirectoryEntry child in entryPC.Children)
{
TreeNode node = new TreeNode();
node.Text = child.SchemaClassName+":"+child.Name;
PCTree.Nodes.Add(node);

foreach(DirectoryEntry pc in child.Children)
{
if(String.Compare(pc.SchemaClassName,"computer",true)==0)
{
TreeNode son = new TreeNode();
//son.Text = pc.Name;
try
{
IPHostEntry hostent = Dns.GetHostByName(pc.Name); // 主机信息
Array addrs = hostent.AddressList; // IP地址数组
IEnumerator it = addrs.GetEnumerator(); // 迭代器
while(it.MoveNext())
{ // 循环到下一个IP 地址
IPAddress ip = (IPAddress)it.Current; // 获得 IP 地址
son.Text=ip.ToString(); // 显示 IP地址
arr.Add(ReadMac(ip.ToString()));
}
}
catch
{
son.Text=pc.Name;
}
node.Nodes.Add(son);
}
}
}
foreach(string s in arr)
{
this.listBox1.Items.Add(s);
}
}
dayadream 2008-07-01
  • 打赏
  • 举报
回复
你说的是通过asp.net代码获取还是怎么获取!?
呵呵 这个是asp.net的问题吗!
我就从其他角度回答这个问题吧!

简单的来说共用一个公网IP的话一般就是拨号上网 或者还有其他的方式
个人比较了解拨号的 情况也和你说的一样
这样你想知道其他电脑的局域网IP的话 就直接进路由

首先在自己的电脑上IPCONFIG 看看自己的内网IP
假如是192.168.1.100的话 那路由的一般都是192.168.1.1
默认登陆帐号密码应该不会变 admin admin
然后进去就找有个客户端列表 就能看到其他电脑的计算机名和IP地址了!

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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