反向Socket连接

套接字(Sockets)编程——逆向分析向 在套接字编程中,我们创建套接字,这是一个支持网络请求和响应的端点。一旦连接建立,客户端发送了一条消息,服务器接收到消息后,将其回发给客户端,然后关闭连接。逆向工程师可以使用套接字编程创建客户端和服务器,以模拟和分析未知或专有的网络协议。在逆向工程中,套接字编程可以用于多种目的,尤其是在分析网络协议和通信机制时。常见的客户端-服务器模型,如Web服务器和浏览器,数据库服务器和客户端应用程序,都依赖于进程间通信。逆向工程师可以使用套接字编程来拦截网络通信,分析传输的数据,并可能修改数据包以测试应用程序的响应。 阅读详情

mark一下,以后的开发过程中可能会经常用到socket相关的东西,所以mark一下最基础的东西。

 

//服务端

 

#include <stdio.h>
#include <windows.h>
#pragma comment(lib,"ws2_32.lib")

void main()
{
 //初始化套接字版本
 WSAData wsaData;
 WSAStartup(MAKEWORD(2,2),&wsaData);

 //创建Socket
 SOCKET Socket_Server;
 Socket_Server = socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
 if (Socket_Server == INVALID_SOCKET)
 {
  printf("Socket error");
  return;
 }

 //初始化地址
 sockaddr_in ClientAddr;
 ClientAddr.sin_family = AF_INET;
 ClientAddr.sin_port = htons(8000);
 ClientAddr.sin_addr.S_un.S_addr = inet_addr("127.0.0.1");

 //循环连接
 while (true)
 {
  //连接
  if (connect(Socket_Server,(LPSOCKADDR)&ClientAddr,sizeof(ClientAddr)) == SOCKET_ERROR)
  {
   printf("connect error/n");
   Sleep(3000);
   continue;
  }
  printf("连接成功");
  break; 
 }

 //发送
 if (send(Socket_Server,"上线了",sizeof("上线了"),0) == SOCKET_ERROR)
 {
  printf("send error");
  return;
 }

 //关闭Socket
 closesocket(Socket_Server);
 WSACleanup();
}

 

//-----------------------------------------------------------------------------------------------------------

 

//客户端

 

CreateThread(NULL,NULL,(LPTHREAD_START_ROUTINE)StartListen,NULL,NULL,NULL);

 

DWORD StartListen(LPARAM *lparam)
{
 WSAData wsaData;

 //初始化套接字版本
 WSAStartup(MAKEWORD(2,2),&wsaData); 
 
 SOCKET Socket_Client;
 
 //创建套接字
 Socket_Client = socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
 if (Socket_Client == INVALID_SOCKET)
 {
  printf("socket error");
  return 0;
 }
 
 sockaddr_in sockaddr;

 //初始化地址信息
 sockaddr.sin_family = AF_INET;
 sockaddr.sin_port = htons(8000); //8000端口
 sockaddr.sin_addr.S_un.S_addr = INADDR_ANY; //表示所有可用的地址
 
 //绑定套接字
 if (bind(Socket_Client,(LPSOCKADDR)&sockaddr,sizeof(sockaddr)) == SOCKET_ERROR)
 {
  printf("bind error");
  return 0;
 }
 
 //监听
 if (listen(Socket_Client,5) == SOCKET_ERROR)
 {
  printf("listen error");
  return 0;
 }

 SOCKET Socket_Server; //客户端
 sockaddr_in remoteAddr; //服务端地址
 int Addrlen = sizeof(remoteAddr);
 char revData[255];

 while (true)
 {
  //接收连接
  Socket_Server = accept(Socket_Client,(LPSOCKADDR)&remoteAddr,&Addrlen);
  if (Socket_Client == INVALID_SOCKET)
  {
   printf("accept error");
   continue;
  }
  OutputDebugString("连接成功");
  
  //接收数据
  int ret = recv(Socket_Server,revData,sizeof(revData),0);
  if (ret > 0)
  {
   MessageBox(0,revData,0,0);
  }
 
 }
 
 closesocket(Socket_Server);  //关闭socket
 WSACleanup();
}

 

 

IDA pro逆向工具寻找socket server的IP和port 在逆向分析代码的时候,我们有时需要找到某软件做服务端时提供的ip:port。 使用IDA pro反编译代码,找到套接字设置的代码处,发现我们期待的IP和port的地方是数字,这时我们该怎么办? 阅读详情

相关推荐

【.Net实现】TCP级别的反向代理、Socket 连接池和数据包解析器

背景最近特别忙,博客久未更新。 回顾了一下2010-2011年的一些.Net项目代码,觉得对初学者可能有一定参考作用,这里share一下。 主要包括: TCP反向代理 Socket连接池 数据包解析 反向代理一般的Web反向代理大家很熟悉了,主要是通过在客户端和服务端之间架设一层代理服务器,转发客户端的请求至服务端或数据库,并将结果回复给客户端。 其特点主要有:1、缓存一些数据库I/O过重、却

浩然之气,兼容并蓄 http://blog.youkuaiyun.com/gsky1986 3422

安卓逆向之socket抓包

思路:socket包大部分都是密文的,常规的抓包工具Charles、Fiddler等一般都无法抓到,所以使用frida进行hook抓包。但frida抓的socket太多了,进一步用Wireshark抓包看想要的数据是哪些包,根据某些特征给frida过滤。

云霄IT的博客 817

Python-基于socket实现的反向shell攻击后门

下面给出一个基于socket实现的反向shell攻击,或者叫做控制工具吧,简单点说来就是在“受害者”电脑上留一个后门,“攻击者”可以通过这个连接这个socket实现在“受害者”电脑上执行各种指令,再直白一点就是一个socket通信的实例而已。 “受害者“端(后门):backdoor.py,这里充当一个socket服务端程序,主要实现连接的的监听、数据的收发和处理以及指令的执行 #!/u

Vimor的博客 5201

逆向学习网络篇:通过Socket建立连接并传输数据

本节课在线学习视频(网盘地址,保存后即可免费观看):​​在网络编程中,Socket是一种提供不同计算机之间通信的机制。通过Socket,我们可以建立客户端和服务器之间的连接,并实现数据的传输。本文将详细介绍如何使用Socket在客户端和服务器之间建立连接,并进行数据传输。我们将通过几个代码案例来展示这一过程。

Web安全工具库 665

反向连接后门的使用

这是一个反向连接的源程序 通过对这个程序的研究我可以知道一个cmd shell是怎么建立并实现的这是一个单管道的程序 为此我还专门看了一下书中所讲的零管道和双管道用瑞士军刀进行监听 最后得到一个cmd shell是不是溢出攻击也是要用到这个哟 嘿嘿 幻想... #include#include#pragma comment(lib,"ws2_32.lib")void m

djyangmaowei的专栏 1518

PESocket.zip

一个提供服务器和客户端进行网络通信的底层代码,可以拿来开发unity的多人联机网络游戏,可以参考我的博客《Unity2017服务器端与客户端之完整通信实现案例》进行一个很好的应用。

网络编程--- 通用Socket函数[2]

1.Socket头文件的包含及库的链接: #include <WinSock2.h> #pragma comment(lib, "ws2_32.lib") 2.初始化和卸载 WSAStartup int WSAStartup( __in WORD wVersionRequested, __out LPWSADATA lpWSAD...

weixin_37632683的博客 690

PESocket-master.zip

Unity 网络通信插件,简单快速搭建socket环境。

Python攻防-Socket通信建立TCP反向连接

文章目录前言远程控制脚本编写效果演示脚本优化getopt ()完整代码效果演示 前言 本文将记录学习基于 Socket 通信机制建立 TCP 反向连接,借助 Python 脚本实现主机远程控制的目的。 我们在传输数据时,可以只使用(传输层)TCP/IP 协议,但是那样的话,如果没有应用层,便无法识别数据内容,如果想要使传输的数据有意义,则必须使用到应用层协议,应用层协议有很多,比如 HTTP、FTP、TELNET 等,也可以自己定义应用层协议。而 Socket 是对 TCP/IP 协议的封装,Socket

道阻且长,行则将至 2500

Unity网络开发 - C#开源网络通信库PESocket的使用源码1.0

Unity网络开发 - C#开源网络通信库PESocket的使用源码1.0

VS Code配置MASM32汇编环境:从安装到调试的完整指南

本文提供了一份详尽的指南,教你如何在VS Code中配置MASM32汇编开发环境,实现从安装、环境变量设置到编写、编译和调试32位Windows汇编窗口程序的完整工作流。通过集成现代编辑器的便利性与经典汇编工具链,旨在降低学习门槛,提升底层开发效率。

nn3456的博客 487

nodejs+socket.io用nginx反向代理提示400 Bad Request及ws://…无法连接的解决方法

nodejs+socket.io用nginx反向代理提示400 Bad Request及ws://…无法连接的解决方法

runwuwushengxiyu的博客 491

新建菜单Office被替换为腾讯文档 - 解决方案

右键新建菜单中的Office被替换为腾讯文档。原因是安装了腾讯文档软件,此软件安装时会自动将新建菜单中的Office替换为腾讯文档,下文介绍解决方案。

NSJim的博客 2933

socket.io连接nginx反向代理路径丢失问题解决

问题描述: 服务器端代码: var socket = io.connect('ws://127.0.0.1/mysocket') socket.on('event_start', function(data){ console.log(data); } 在浏览器的调试工具中发现/mysocket不见了。 解决方案: var socket = io.connect('ws:/...

qq_18895311的博客 1438

YOLO11-Seg优化:卷积变体系列篇 | 动态蛇形卷积(Dynamic Snake Convolution) | ICCV2023

动态蛇形卷积(Dynamic Snake Convolution),增强微小特征提取能力,引入到YOLO11-Seg,与C3k2结合实现二次创新

会AI的学姐 372

AutosarMCAL开发——基于EB MCU驱动

本文为博主个人学习总结记录,如有不正,欢迎指正。

qq_45583706的博客 923

安全之路 —— 零管道反向连接后门解析

简介 根据前面两篇Blog介绍的双管道后门和单管道后门,他们的特点是一定需要建立管道以便进行进程间通信。但是能不能不需要管道呢?答案是可以的,这里需要借鉴重叠IO的思想,将程序中的socket函数替换成支持重叠IO的WSASocket函数。 核心知识点 si.hStdInput = si.hStdOutput = si.hStdError = (HANDLE)sSock; 即将Socke...

dengdao1372的博客 279

Freeswitch 如何检测链路是否有回铃音

Freeswitch回铃音检测解决方案 问题描述:呼叫手机时,虽然信令正常(183/180),但部分手机无回铃音,导致坐席无法判断是否接通,用户体验差。 解决方案: 先播放本地音频作为回铃音 实时检测用户侧是否有声音输入 检测到声音后自动切换为用户侧音频 技术实现: 使用Freeswitch APP实现功能 创建结构体保存实例数据(包括铃声文件、会话句柄、VAD检测器等) 通过media bug机制实现音频流的替换 利用VAD(语音活动检测)技术监控用户侧声音 当检测到用户说话时自动终止本地铃声播放 该方案

2301_81507069的博客 51

反弹SHELL&不回显带外&正反向连接&防火墙出入站&文件下载

正向连接正向连接(Forward Connection):正向连接是一种常见的网络通信模式,其中客户端主动发起连接到服务器或目标系统。正向连接通常用于客户端-服务器通信,客户端主动请求服务或资源,例如网页浏览、电子邮件发送和接收等。在正向连接中,客户端充当主动方,向服务器发起连接请求,然后服务器接受并处理请求。正向shell :这个就是比如我们(A)要连接B,这时候我们需要连接B的IP正向一般是指客户端主动连服务器。

2301_81155391的博客 1077

【原创教程】汇川H5U入门教案第二课

定时器指令IN输入能流从OFF变为ON时,定时器启动计时,输出Q为ON,IN输入能流从ON变为OFF时,在IN保持为OFF期间,定时器的运行时间是PT参数指定的时间,定时器定时时间达到PT参数指定的时间后,Q变为OFF。IN输入能流为ON时,ET输出值为0,IN从ON变为OFF时,在定时器计时运行期间,ET输出当前的计时时间,定时器计时时间到达PT参数指定的时间后,ET值保持。IN输入能流为ON时,在定时器计时运行期间,ET输出当前的计时时间,定时器计时时间到达PT参数指定的时间后,ET值保持;

Qinmingyue13的博客 2484

YOLO11涨点优化:注意力魔改 | 引入Deformable Attention (可变形注意力),灵活感受野自适应复杂形变目标

Deformable Attention为YOLO11带来的不仅是2.6个百分点的mAP提升,更是一种全新的“形变感知”范式。标准卷积的固定感受野在非刚性目标、多尺度变化和遮挡场景下力不从心——Deformable Attention恰好填补了这一空白。从架构设计到代码实现,从竞品对比到部署方案,从生态工具到安全风险,本文覆盖了将Deformable Attention引入YOLO11所需的全部知识链路。

2601_95807009的博客 286

内网基础-隧道技术、内网穿透(SSH隧道、Socket隧道、跨路由扫描)

如果你也想学习:黑客&网络安全的零基础攻防教程。

wholeliubei的博客 1177

车载以太网:PHY(物理层)介绍

本文以TJA1101芯片为实例介绍了车载以太网PHY(物理层)组成。

kevin1499的博客 6231

vc++反向连接后门

#include #include #pragma comment(lib,"ws2_32.lib") void main(int argc,char **argv) { char *messages = "/r/n======================== BackConnect BackDoor V0.1 ========================/r/n====

乐在分享 427

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

安全之路 —— 单管道反向连接后门解析

原理简述 单管道后门相对于双管道后门(参照前面发的Blog),很明显单管道后门使用了“cmd.exe /c [命令]”的用法在进行cmd进程创建时就顺带执行了命令,所以省去了由socket发往cmd的管道。同时笔者为样例程序加上了反向连接的模块,反向连接由宿主机作为client端,操纵者的nc或telnet等作为server端,与前面发的正向连接原理相反,反向连接由宿主机发出连接,可以...

dengdao1372的博客 318

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

上一篇: Delphi7的控件安装与删除
下一篇: 动态添加XtraTabControl
sysprogram
博客等级 码龄17年 298粉丝 442原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值