使用C++如何在一个局域网看不见主机内,访问主机,获得主机的时间,然后将本机的时间修改成主机一样的时间!

借助teamviewer&通过端口转发 访问局域网内指定主机
netsh interface portproxy add
listenaddress=7.53.156.95
listenport=2222 connectaddress=192.168.0.108
connectport=2222
netsh interface
portproxy delete v4tov4
listenaddress=7.53.156.95
listenport=2222
netsh interface
portproxy show
已安装或已关闭防火墙忽略下面
interface ipv6
放行TCP 2222的入站连接
Copyright (C) , All Rights Reserved.
版权所有 闽ICP备号
processed in 0.054 (s). 12 q(s)单位的电脑主机主板电池没电了,能否做一个批处理文件,每次开机以后能更新指定IP地址电脑上的时间和日期,谢谢
直接用系统服务不是更好??开启windows time服务,更新ip填你的主机,每次其他的机器开机会自动连到主机来更新时间的。
复制下面的指令代码到记事本,修改“*”为你的数据,并保存为*.bat文件,双击运行就可以了。
@echo off
color a
rem setlocal En...
其实不用花那么多钱
不更换主板的升级方案
1、升级显卡
推荐七彩虹8600GT GD3
性能不错,价格在500元
会使游戏性能有质的飞跃!
2、升级处理器,至少...
首先应该弄清楚原有开票系统的数据版本,不同版本之间的数据是不能相互覆盖安装的,如果开票系统的版本一致,将DATABASE文件夹复制回去就可以了
点击开始菜单,运行CONF,即可显示NETMEETING设置选项,随便添入各个选项后,即可运行NETMEETING,在呼叫栏内添加被呼叫者的IP,点击右边的呼叫...
答: 脚莫名其妙的痛,这是为啥的啊,坐完月子回来就这样了哟,求帮助啊?
答: 比如常见的网吧电脑用的就是无盘网络技术。
优点:资源共享,节省资金。
缺点:访问速度慢,容易中毒!
答: dos下,输入netsh winsock reset 回车后重起.
或开始--运行--输入cmd --确定--弹出窗口后输入netsh winsock rese...
大家还关注
确定举报此问题
举报原因(必选):
广告或垃圾信息
激进时政或意识形态话题
不雅词句或人身攻击
侵犯他人隐私
其它违法和不良信息
报告,这不是个问题
报告原因(必选):
这不是个问题
这个问题分类似乎错了
这个不是我熟悉的地区
相关问答:123456789101112131415void GetNameAndIp()
dwScope = RESOURCE_CONTEXT;
NETRESOURCE
*NetResource = NULL;
WNetOpenEnum(dwScope, NULL, NULL, NULL, &hEnum);
WSAStartup(MAKEWORD(1, 1), &wsaData);
if (hEnum)
Count = 0xFFFFFFFF;
BufferSize = 10240;
Buffer = new char[10240];
WNetEnumResource(hEnum, &Count, Buffer, &BufferSize);
NetResource = (NETRESOURCE*)B
char szHostName[200];
for (unsigned int i = 0; i & BufferSize / sizeof(NETRESOURCE); i++, NetResource++)
if (NetResource-&dwUsage == RESOURCEUSAGE_CONTAINER && NetResource-&dwType == RESOURCETYPE_ANY)
if (NetResource-&lpRemoteName)
strFullName = NetResource-&lpRemoteN
if (0 == strFullName.Left(2).Compare(_T(&\\\\&)))
strFullName = strFullName.Right(strFullName.GetLength() - 2);
gethostname(szHostName, strlen(szHostName));
USES_CONVERSION;
char *pchar = T2A(strFullName);
host = gethostbyname(pchar);
if (host == NULL)
ptr = (struct in_addr *)
host-&h_addr_list[0];
string str = &&;
for (int n = 0; n&4; n++)
if (n & 0)
str += &.&;
int value = (unsigned int)((unsigned char*)host-&h_addr_list[0])[n];
char p[20];
sprintf(p, &%d&, value);
str.append(p);
std::cout &&&IP:&&& str &&& Name:&&&host-&h_name&& std::
WNetCloseEnum(hEnum);
WSACleanup();
本文已收录于以下专栏:
相关文章推荐
获得公网ip:bool getPublicIp(string& ip)
char **pptr = NULL;
struct sockaddr_i...
我们可以在cmd中敲入ipconfig来获取本机ip地址,下面写个程序来获取本机ip地址(结果相同):
#pragma comment(lib,&ws2_32.li...
参考了一些网上的方法,整理如下:
#define ETH_NAME &et...
下面是获取本机Ip和主机名的程序,在VC6下成功,注意连接静态库的方法,初始化SOCKET库函数的方法,
以及取得gethostname的方法。
代码如下:
获取局域网中的所有主机名
ipconfig -all
获取本地IP,主机名,MAC地址
获取本局域网中的所有IP地...
转自:/jakisou/blog/item/3e74d611b7bd7.htmlint gethostname(char *name, si...
//===========================
获取本机局域网IP
//===========================
char* GetLocal...
他的最新文章
讲师:王哲涵
讲师:王渊命
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)通过反向SSH隧道访问局域网内的服务器
几年前家里的拨号上网拨到都是公网IP,可以在家里通过ddns动态域名解析和端口映射的方法实现局域网内服务器的访问。但是随着公网IP越来越少,不少地区拨号后会发现地址变成了10.x.x.x类似的局域网地址。运营商又在我们上网环境之前加了一个网关,这样通过ddns和端口映射的办法基本就废了。顺便吐槽,我们离大局域网的日子也不远了。
什么是反向 SSH 隧道
反向 SSH 隧道的概念非常简单,不多使用这种方案,在你的受限的网络之外,还需要另一台主机(所谓的“中继主机”),一般都是有公网IP的主机。然后从你的家庭网络服务器中建立一个到公网中继主机的永久 SSH 隧道。有了这个隧道,你就可以从中继主机中连接“回”家庭服务器(这就是为什么称之为 “反向” 隧道)。不管你在哪里、你的家庭网络中的 NAT 或 防火墙限制多么严格,只要你可以访问中继主机,你就可以连接到家庭服务器。
创建反向SSH隧道
假设我们有这两台服务器:
A主机:外网,ip:1.2.3.4,sshd端口:22
B主机:内网,sshd端口:2202
在B主机上执行一下命令,连接A主机。
$ ssh -fN -R 10022:localhost:2202 relay_user@1.2.3.4:22
端口 10022 是A主机中任何你可以使用的端口,确保不会被A主机中的程序占用。
“-R 10022:localhost:2202”:定义一个反向隧道。它转发中继服务器A主机 10022 端口的流量到家庭服务器的 2202 号端口。
用 “-fN” 选项,当你成功通过 SSH 服务器验证时 SSH 会进入后台运行。
登录到A主机,确认其 127.0.0.1:10022 绑定到了 sshd。如果是的话就表示已经正确设置了反向隧道。
到这一步,登录B主机可以这样做,先登录A主机,然后通过A主机登录B主机。因为反向端口监听的地址是本地的。
不过如果你需要外部网络可以通过A主机监听的端口直接访问B主机,那么打开A主机sshd_config配置文件,修改或者添加“GatewayPorts clientspecified”,重启SSH服务。
在B主机执行命令:
$ ssh -fN -R 1.2.3.4:10022:localhost:2202 relay_user@1.2.3.4:22
外部网络通过下面命令可以直接访问B主机。
$ ssh -p 10022 server_B_username@1.2.3.4
反向SSH隧道这样就搭建好了。不过有个问题,这种反向连接(Reverse Connection)不稳定,可能随时断开。
创建永久反向SSH隧道
上面说到SSH自带的命令无法满足“永久”的需求,这时我们需要个“朋友”,帮你在内网B主机执行这条命令。它就是Autossh。
第一步:创建B主机到A主机免密码登录
# ssh-keygen
# ssh-copy-id relay_user@1.2.3.4
第二步:在B主机安装autossh
# apt-get install autossh
第三步:运行autossh
# /usr/bin/autossh -M 2201 -fN -o "PubkeyAuthentication=yes" -o "StrictHostKeyChecking=false" -o "PasswordAuthentication=no" -o "ServerAliveInterval 60" -o "ServerAliveCountMax 3" -R 1.2.3.4:2202:localhost:2202 relay_user@1.2.3.4
“-M 2201” 选项指定中继服务器上的监视端口,用于交换监视 SSH 会话的测试数据。中继服务器上的其它程序不能使用这个端口。
“-fN” 选项传递给 ssh 命令,让 SSH 隧道在后台运行。
“-o XXXX” 选项让 ssh:
使用密钥验证,而不是密码验证。
自动接受(未知)SSH 主机密钥。
每 60 秒交换 keep-alive 消息。
没有收到任何响应时最多发送 3 条 keep-alive 消息。
第四步:添加开机启动
在/etc/rc.local中添加第三步命令,保存。
这样我们就可以在公网通过A主机的2202端口随时访问B主机了,实现B主机的NAT穿透。
参考连接:/article-5975-1.html
Trackbacks (0)
还没有Trackbacks

我要回帖

更多关于 局域网看不见主机 的文章

 

随机推荐