pingtunnel是把tcp/udp/sock5流量伪装成icmp流量进行转发的工具
注意:本工具只是用作学习研究,请勿用于非法用途!!!
sudo wget (最新release的下载链接)
sudo unzip pingtunnel_linux64.zip
sudo ./pingtunnel -type server
转发sock5
pingtunnel.exe -type client -l :4455 -s www.yourserver.com -sock5 1
转发tcp
pingtunnel.exe -type client -l :4455 -s www.yourserver.com -t www.yourserver.com:4455 -tcp 1
转发udp
pingtunnel.exe -type client -l :4455 -s www.yourserver.com -t www.yourserver.com:4455
server:
docker run --name pingtunnel-server -d --privileged --network host --restart=always esrrhs/pingtunnel ./pingtunnel -type server -key 123456
client:
docker run --name pingtunnel-client -d --restart=always -p 1080:1080 esrrhs/pingtunnel ./pingtunnel -type client -l :1080 -s www.yourserver.com -sock5 1 -key 123456
下载centos镜像 centos mirror,对比如下
wget | ss | kcp | pingtunnel | |
---|---|---|---|---|
阿里云 | 26.6KB/s | 31.8KB/s | 606KB/s | 5.64MB/s |
PingTunnel是用于内网穿透的工具,近期用到它,发现了不少问题,做了一些改进,记录于此。 这个工具大概是2004年左右由Daniel创建,之后维护到2011年左右,支持通过ICMP或DNS(UDP)通道做隧道传输TCP报文,在其中实现了稳定链路传输(包括报文的序号与ACK响应、丢包重发、包乱序重组、滑动窗口发送等),TCP转发,多会话维护,核心代码集中在ptunnel.c一个1600行左右的
1.环境搭建 windows10本机:192.168.126.1 kali攻击机:192.168.126.149 linux内网webserver服务器:192.168.126.157和192.168.33.129 内网windows7:192.168.33.33 2.安装Pingtunnel kali攻击机和webserver安装 apt-get install byacc apt-get in
本文向大家介绍python实现udp数据报传输的方法,包括了python实现udp数据报传输的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Python实现UDP数据报传输的方法,非常具有实用价值。分享给大家供大家参考。具体方法分析如下: 服务端代码: 客户端代码: 结果:先运行服务端,然后运行客户端, 服务端打印出: 补充: socket.sendto(string[, flags
根据Stevens(图示为TCP/IP),traceroute程序用增量TTL(1、2、3等)向目的主机发送UDP数据包,以从ICMP TTL过期消息中获取中间跳信息。 “到达目的地”条件是ICMP端口无法到达的消息,因为traceroute寻址的随机端口数量很高(也就是说,不太可能有人在那里监听) 所以我的问题是:是否有技术原因(缺点、RFCs等)使用UDP数据包而不使用例如ICMP回送请求消息
个人背景:对网络传输刚刚有一定概念 在浏览器访问网页的过程中,tcp 和 ip 传输协议下,我们需要进行三次握手。 了解到三次握手的本质也是发送了数据包到对方电脑 问题1:既然我三次握手也是发包,那我为什么不干脆一开始就直接发数据包呢?(省去三次握手,直接发不是更快吗?) 问题2:TCP 实际上干了什么才导致“三次握手以后的发包,和不进行握手直接发包”有了区别? (不需要解释底层原理,希望可以举个
本文向大家介绍python网络编程之数据传输UDP实例分析,包括了python网络编程之数据传输UDP实例分析的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了python网络编程之数据传输UDP实现方法。分享给大家供大家参考。具体分析如下: 一、问题: 你觉得网络上像msn,qq之类的工具在多台机器之间互相传输数据神秘吗?你也想玩一下在两台机器之间传数据吗?今天让python告诉我们基本原
所以,这可能是一个愚蠢的问题,但据我所知,如果我通过TCP或UDP发送数据,如果组成该TCP/UDP数据包的任何一个IP数据包被丢弃,整个TCP/UDP数据包将被重传,但我的问题是为什么我们不能只发送丢失的部分数据吗?目前,我对此的唯一推理是,如果我们要为收到的每个IP数据包发送确认字符,这将增加网络拥塞。这是正确的,还是有其他原因,当只有一个或几个IP数据包被丢弃时,我们必须重新发送TCP/UD
我正在构建一个通过udp在线传输实时音频的应用程序,我希望最小化延迟。音频以其生成的速度发送,这意味着生成一秒钟的音频需要一秒钟,发送速度不能超过音频速率。 我最初的想法是发送压缩音频的小数据包,以便客户端可以尽快开始播放。使用Opus编解码器,我应该能够发送5毫秒的音频数据包(最低2.5毫秒),这意味着用户可以很快开始播放,比如说在发送了2个这样的数据包之后。 然而,当使用如此小的分组大小时,会
默认我们的数据传输都是不经过加密的,要加密传输的话得用上HTTPS协议。easyopen在1.4.0版本开始提供了数据加密传输,不需要HTTPS协议。 easyopen基于公私钥+AES加密传输,交互流程如下: 0. 事先把公钥放在客户端,私钥放在服务端 1. 客户端生成一个随机码randomKey 2. 将randomKey通过公钥RSA加密str = rsa_encode(randomKey,
稳定性: 2 - 稳定的 dgram模块提供了 UDP 数据包 socket 的实现。 const dgram = require('dgram'); const server = dgram.createSocket('udp4'); server.on('error', (err) => { console.log(`服务器异常:\n${err.stack}`); server.cl