添加对域名的解析功能。

This commit is contained in:
yuanyuanxiang
2019-05-07 20:27:02 +08:00
parent b8249a241c
commit e234b37279
3 changed files with 28 additions and 1 deletions

View File

@@ -203,3 +203,7 @@ TestRun在写入开机自启动项时先提升权限以防止因权限不足
2019.5.6
当TestRun、ClientDemo运行时若未成功加载ServerDll.dll则给出提示。
所有项目均采用平台工具集"Visual Studio 2012 - Windows XP (v110_xp)"以支持在XP上运行。
2019.5.7
1、添加对远程IP使用域名时的支持若IP为域名先将域名进行解析后再连接。
2、添加文档“使用花生壳.txt”介绍了如何使用花生壳软件搭建远程监控系统。

View File

@@ -87,6 +87,13 @@ IOCPClient::~IOCPClient()
m_bWorkThread = S_END;
}
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡIP<49><50>ַ
inline string GetIPAddress(const char *hostName)
{
struct hostent *host = gethostbyname(hostName);
return host ? inet_ntoa(*(struct in_addr*)host->h_addr_list[0]) : "";
}
BOOL IOCPClient::ConnectServer(char* szServerIP, unsigned short uPort)
{
m_sClientSocket = socket(AF_INET,SOCK_STREAM, IPPROTO_TCP); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
@@ -100,7 +107,10 @@ BOOL IOCPClient::ConnectServer(char* szServerIP, unsigned short uPort)
sockaddr_in ServerAddr;
ServerAddr.sin_family = AF_INET; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> IP
ServerAddr.sin_port = htons(uPort);
ServerAddr.sin_addr.S_un.S_addr = inet_addr(szServerIP);
// <20><>szServerIP<49><50><EFBFBD><EFBFBD><EFBFBD>ֿ<EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IPת<50><D7AA>
string server = ('0' <= szServerIP[0] && szServerIP[0] <= '9')
? szServerIP : GetIPAddress(szServerIP);
ServerAddr.sin_addr.S_un.S_addr = inet_addr(server.c_str());
if (connect(m_sClientSocket,(SOCKADDR *)&ServerAddr,sizeof(sockaddr_in)) == SOCKET_ERROR)
{

13
使用花生壳.txt Normal file
View File

@@ -0,0 +1,13 @@
1、启动Yama监控服务端记住内网IP和监听端口Port.
2、在花生壳内网穿透添加端口映射将内网IP和监听端口Port映射到花生壳域名host及花生壳端口port.
3、在Yama生成客户端页面输入host和port生成监控客户端.
4、将ClientDemo部署到需要被监控的电脑上运行即可开始远程监控.
参考资料
花生壳内网穿透服务做远程桌面登录https://service.oray.com/question/1824.html
2019-5-7