前几天项目中需要一个抓取并分析TCP包的工具,在网上倒腾了一阵子整理了一个工具,现在发布在这儿提供参考。 这个工具是使用C语言开发的一个TCP Proxy,实现TCP转发的功能并dump出来数据包的内容。#include <stdio.h> #include <stdlib.h> #include <unistd.h> #...
channel的设计应该是参考了Muduo的设计,在mudduo中 Channel扮演了一个IO事件分发器的作用。主要有两个地方,一个是Acceptor中的Channel,主要处理连接事件,另外每个TcpConnection类中会有一个Channel,检测fd的刻可读,关闭,错误消息,触发相应的回调函数。生命周期由Acceptor和TcpConnection控制。 设计: CProxy采用多线程reacto...
PublicClient先将请求打到CProxyServer,CProxyServer识别请求是属于哪个CProxyClient,然后将数据转发到CProxyClient,CProxyClient再识别请求是属于哪个LocalServer的,将请求再转发到LocalServer,完成数据的转发。 工作流程 先介绍CProxyServer端的两个概念: Control:在CProxyServer中会维护一个ControlMap,一个Control对应一...
CProxy server的架设可以有效的阻隔您区域网络中的电脑直接连线的网际网络上,它具有可以提供区域网络中的使用者之透过单点IP连结到网际网络上的神奇功能,另外也提供了URL位置筛选等功能,支持的通讯协定以及Server种类更是多,包括了HTTP、Secure HTTP、NNTP、FTP、Telnet、SMTP、POP3、TCP/IP…等等,并且还具有mirror其他...
PublicClient先将请求打到CProxyServer,CProxyServer识别请求是属于哪个CProxyClient,然后将数据转发到CProxyClient,CProxyClient再识别请求是属于哪个LocalServer的,将请求再转发到LocalServer,完成数据的转发。 工作流程 先介绍CProxyServer端的两个概念: Control:在CProxyServer中会维护一个ControlMap,一个Control对应一...
(clientPort); } } Proxy = new TcpProxy(definition); Proxy.Start(); Console.WriteLine("Proxy started between {0}:{1} and {2}:{3}", definition.ServerAddress, definition.ServerPort, definition.ClientAddress, definition.ClientPort); Proxy.BytesTransfered += Proxy_BytesTransfered; Proxy.Server...
PublicClient先将请求打到CProxyServer,CProxyServer识别请求是属于哪个CProxyClient,然后将数据转发到CProxyClient,CProxyClient再识别请求是属于哪个LocalServer的,将请求再转发到LocalServer,完成数据的转发。 工作流程 先介绍CProxyServer端的两个概念: Control:在CProxyServer中会维护一个ControlMap,一个Control对应一...
c c++ Socks5 Proxy Service,HTTP Tunnel Proxy Service,tcp forward service 软件架构 此软件基于XEngine开发.采用C/C++作为开发语言 此软件是一款标准的代理服务器,支持Socks5和HTTP的隧道代理 软件特性 此软件支持以下特性 SOCKS5代理 Tunnel代理 TCP数据转发服务 ...
11.tcp四次挥手实现 12.tcp acknum与seqnum的确认机制实现 13.tcp的并发连接设计 14.epoll并发的实现 15.tcp协议栈与epoll之间的回调实现 (3)dpdk组件项目 1.dpdk-ac 2.dpdk-kni 3./dev/ kni的原理分析 4.kni_ dev的流程 5.kni的t缓冲区,rx缓冲区 6.kni的用户空间与内核空间映射 7.mbuf如何转化为ker...
C语言提高深入浅出 1小时透彻理解C语言指针 最适合自学的C++基础视频_深入浅出版全套资料 匠心之作 C++...