精华内容
下载资源
问答
  • 隧道技术

    千次阅读 2019-10-03 20:42:24
    文章目录是什么来自维基有什么用我的理解需要解决的问题有哪些隧道协议常见的隧道协议示例VPN分类第二层隧道协议对应于0SI模型的数据链路层,第三层隧道协议 是什么 来自维基 隧道协议(英语:Tunneling Protocol)...

    是什么

    来自维基

    隧道协议(英语:Tunneling Protocol)[1]是一种网络协议,在其中,使用一种网络协议(发送协议),将另一个不同的网络协议,封装在负载部分。使用隧道的原因是在不兼容的网络上传输数据,
    或在不安全网络上提供一个安全路径。

    隧道的客户机和服务器双方必须使用相同的隧道协议。

    有什么用

    • 可以在一个现有的网络上传输新协议的数据包
    • 可以有效的利用现有的网络,包括协议,物理设备等。
    • 不需要为新协议从上导下开发一整套对应的ISO协议栈。

    我的理解

    为了实现在两个完全不同的网络(比如说IPV6的包在IPV4的网络上传输),需要将IPV6的整个包体放在IPV4的数据部分,这样就能稳定的在IPV4网络上传递IPV6的包了。而且下面的数据链路层和物理层不需要关系上层传输的是什么协议的数据,等数据从A端到B端的时候,出了网络层,B端需要判断IPV4的包是否真的是IPV4的包,还是里面包的是IPV6的包,需要再按照IPV6的协议要求解析一遍?
    这个时候问题就来了

    需要解决的问题

    • 怎么让上层解析出IPV6的数据包?
    • 在IPV4协议的什么地方告诉上层,数据内容里面还有另外一层数据?

    答案是:
    隧道协议只负责传输内容,两端上层需要自己商议好如何解析数据内的内容

    有哪些隧道协议

    常见的隧道协议

    • IP in IP (Protocol 4):
      • IP in IPv4/IPv6
    • SIT/IPv6 (Protocol 41):
      • IPv6 in IPv4/IPv6
    • GRE (Protocol 47):
      • Generic Routing Encapsulation (通用路由协议)
    • OpenVPN (UDP port 1194):
      • Openvpn
    • SSTP (TCP port 443):
      • Secure Socket Tunneling Protocol
    • IPSec (Protocol 50 and 51):
      • Internet Protocol Security
    • L2TP (Protocol 115):
      • Layer 2 Tunneling Protocol
    • VXLAN (UDP port 4789):
      • Virtual Extensible Local Area Network.

    PS: 参考维基百科

    示例

    VPN

    可以基于底层的PPP(点对点传输协议)来实现建立专属网络的功能。过程大概是这个样子的

    • vpn client利用PPTP在系统内建立一个虚拟网卡
    • 计算机网络通讯客户端(例如:浏览器,微信什么的)借用系统接口将需要发送的数据封装成IP包,源地址为虚拟网卡地址。目标地址为期望访问的地址,比如说google.com。
    • 虚拟网卡拿到IP包之后,PPTP驱动会按照PPP协议对IP包的完整内容包装到payload里面(这就是隧道技术)用一层新的IP头包裹,并将这个新包的目标地址设置为VPNServer。
    • VPNserver收到这个包之后将payload内容拿出来,并按照IP协议再解析一边,拿到原始的目标地址,代为发送到google.com
    • 收到google的回复,server将数据封装到IP包里面,再按照PPP协议分装,添加新的IP头发送到原始的虚拟网卡。
    • 虚拟网卡将数据交由客户端处理

    分类

    隧道技术可分别以第二层或第三层隧道协议为基础。

    第二层隧道协议对应于0SI模型的数据链路层,

    使用帧作为数据交换单位。PPTP(点对点隧道协议)、L2TP(第二层隧道协议)和L2F(第二层转发协议)都属于第二层隧道协议,是将用户数据封装在点对点协议(PPP)帧中通过互联网发送。第三层隧道协议对应于OSI模型的网络层,使用包作为数据交换单位。

    第三层隧道协议

    IPIP(IPoverIP)以及IPSec隧道模式属于第三层隧道协议,是将IP包封装在附加的IP包头中,通过IP网络传送。无论哪种隧道协议都是由传输的载体、不同的封装格式以及用户数据包组成的。

    参考:https://wiki.mbalib.com/wiki/%E9%9A%A7%E9%81%93%E6%8A%80%E6%9C%AF

    展开全文
  • GRE隧道配置

    千次阅读 2019-08-08 19:42:54
    四种常见的隧道协议: 隧道协议 说明 第二层转发(L2F) 思科专用,为支持虚拟专用拨号网络(VPDN)开发的隧道协议 ,拨号连接安全地访问公司网络,已被L2TP取代 点到点隧道协议(PPTP) 微软等厂商开发,...

    四种常见的隧道协议:

    隧道协议 说明
    第二层转发(L2F) 思科专用,为支持虚拟专用拨号网络(VPDN)开发的隧道协议 ,拨号连接安全地访问公司网络,已被L2TP取代
    点到点隧道协议(PPTP) 微软等厂商开发,让远程网络能够安全地将数据传输到公司网络
    第2层隧道协议(L2TP) 思科和微软联合开发,取代L2F和PPTP(功能集于一身)
    通用路由选择封装(GRE) 思科专用,建立虚拟点到点链路,使得IP隧道中封装各种协议分组

    GRE隧道特点:

    传输(IP)报头 GRE报头 乘客协议(IP)分组
    • GRE报头包含一个协议类型字段,因此可通过隧道传输任意第3层协议的数据。
    • GRE是无状态的,也没有流量控制机制。
    • GRE不提供任何安全机制。
    • GRE会带来额外开销,每个分组至少24字节。

    GRE配置:

    我们在R1与R3上建立GRE隧道,接口IP配置如下:
    在这里插入图片描述

    R1

    interface Tunnel0
     ip address 10.1.1.1 255.255.255.0
     tunnel source 100.1.1.1
     tunnel destination 200.1.1.3
    
    ip route 0.0.0.0 0.0.0.0 100.1.1.2
    ip route 172.16.1.0 255.255.255.0 Tunnel0
    

    R3

    interface Tunnel0
     ip address 10.1.1.3 255.255.255.0
     tunnel source 200.1.1.3
     tunnel destination 100.1.1.1
    
    ip route 0.0.0.0 0.0.0.0 200.1.1.2
    ip route 192.168.1.0 255.255.255.0 Tunnel0
    

    最后我们可以直接从R4 ping 到 R5,从而达到内网与内网的连接

    GRE穿越NAT:

    我们删除R1上的隧道配置,将R4重新变为路由器,建立环回口L0,并在R4与R3上建立GRE隧道,配置如下:
    在这里插入图片描述

    R1

    R1这边做NAT,GRE封装无传输层端口,如果要穿越NAT,报文的原IP地址会发生改变,等数据包回到R1的时候,封装信息中无端口号,因此R1无法将其送回正确目的地,可以将隧道源IP通过静态NAT给映射出去,这里我们映射的IP地址为100.1.1.4

    ip nat inside source list 1 interface Ethernet1/1 overload
    ip nat inside source static 192.168.1.4 100.1.1.4
    access-list 1 permit 4.4.4.4
    access-list 1 permit 192.168.1.0 0.0.0.255
    
    ip route 0.0.0.0 0.0.0.0 100.1.1.2
    

    R3

    R3这边做的隧道目的地址,就得指定为100.1.1.4,为另一边隧道NAT变换后的IP地址,配完NAT之后记得配置一下出口和进口

    interface Tunnel0
     ip address 10.1.1.3 255.255.255.0
     tunnel source 200.1.1.3
     tunnel destination 100.1.1.4
     
    ip nat inside source list 1 interface Ethernet1/1 overload
    access-list 1 permit 172.16.1.0 0.0.0.255
    
    ip route 0.0.0.0 0.0.0.0 200.1.1.2
    ip route 4.4.4.4 255.255.255.255 Tunnel0
    

    R4

    interface Tunnel0
     ip address 10.1.1.4 255.255.255.0
     tunnel source 192.168.1.4
     tunnel destination 200.1.1.3
     
    ip route 0.0.0.0 0.0.0.0 192.168.1.1
    ip route 172.16.1.0 255.255.255.0 Tunnel0
    

    最后我们带源从R4 ping 到R5,在R4上输入ping 172.16.1.5 source loopback 0,能够ping通

    展开全文
  • 常见的ping命令就是利用的ICMP协议,攻击者可以利用命令行得到比回复更多的ICMP请求。在通常情况下,每个ping命令都有相应的回复与请求。 在一些网络环境中,如果攻击者使用各类上层隧道(例如:HTTP隧道、DNS隧道...

    0x00 前言

    ICMP隧道简单实用,是一个比较特殊的协议。在一般的通信协议里,如果两台设备要进行通信,肯定需要开放端口,而在ICMP协议下就不需要。最常见的ping命令就是利用的ICMP协议,攻击者可以利用命令行得到比回复更多的ICMP请求。在通常情况下,每个ping命令都有相应的回复与请求。

    在一些网络环境中,如果攻击者使用各类上层隧道(例如:HTTP隧道、DNS隧道、常规正/反向端口转发等)进行的操作都失败了,常常会通过ping命令访问远程计算机,尝试建立ICMP隧道,将TCP/UDP数据封装到ICMP的ping数据包中,

    从而穿过防火墙(防火墙一般不会屏蔽ping的数据包),实现不受限制的访问访问。

    工具介绍http://freshmeat.sourceforge.net/projects/ptunnel/

    PingTunnel是一款常用的ICMP隧道工具,可以跨平台使用,为了避免隧道被滥用,还可以为隧道设置密码。
      pingtunnel工具是基于网络层面ICMP协议的内网穿透工具,但是,普遍大部分的教程,我们做内网端口转发时,目标服务器时linux服务器,所以,我们剑走偏锋,使用windows系统作为目标服务器,

    Pingtunnel基础命令:

    -x :指定ICMP隧道连接的验证密码
    -lp:指定要监听的本地TCP端口
    -da:指定要转发的目标机器的IP地址
    -dp:指定要转发的目标机器的TCP端口
    -p:指定ICMP隧道连一段的IP地址

    配置说明

    192.168.200.10(仅主机)
    192.168.200.20 (仅主机)
    192.168.100.34(NAT)、192.168.200.34(仅主机)
    192.168.100.7(NAT)

    192.168.200.X 模拟公网地址,192.168.100.X模拟内网地址。Web服务器(linux)模拟企业对外提供Web服务的机器,该机器可以通内网,同时向公网提供服务。内网存在一台Windows机器(window 7),Web服务器可以与该机器连接。现在我们获取到了Web服务器的权限,想用ICMP搭建通往内网的隧道,连接内网Windows 7的3389端口。

    目标:以192.168.200.20作为攻击机,linux作为目标服务器,使用Pingtunnel工具将192.168.100.7的3389端口已linux为ICMP隧道传输到我们的192.168.200.20攻击机的2333端口
     在这里插入图片描述

    0x01 环境要求

    在安装PingTunnel前,我们必须先要安装它的运行环境,否则安装失败
    在安装依赖环境之前,建议先把源换成国内源

    https://developer.aliyun.com/mirror/

    在这里插入图片描述

    (1)、对192.168.200.20和linux都这样安装pingtunnel:

    PingTunnel的安装

    #安装libpcap的依赖环境

    apt-get install byacc
    
    apt-get install flex bison
    

    #安装libpcap依赖库

    wget http://www.tcpdump.org/release/libpcap-1.9.0.tar.gz
    
    tar -xzvf libpcap-1.9.0.tar.gz
    
    cd libpcap-1.9.0
    
    ./configure
    
    make && make install
    

    #安装PingTunnel

    wget http://www.cs.uit.no/~daniels/PingTunnel/PingTunnel-0.72.tar.gz
    
    tar -xzvf PingTunnel-0.72.tar.gz
    
    cd PingTunnel
    
    make && make install
    

    注:部分出错原因:

    安装make:

    yum -y install gcc automake autoconf libtool make
    

    运行环境配置好后,来安装PingTunnel

    git clone http://freshmeat.sourceforge.net/projects/ptunnel/
    cd ./Pingtunnel
    make && make install
    

    后再来编译PingTunnel

    0x02 打通隧道

    、在Webserver的操作

    #启动pingtunnel

    ptunnel
    

    #或(-x为隧道指定连接密码)

    ptunnel -x qidao
    

    -p 指定ICMP隧道另一端的IP

    -lp:指定本地监听的端口

    -da:指定要转发的目标机器的IP

    -dp:指定要转发的目标机器的端口

    -x:指定连接密码
    在这里插入图片描述

    3、连接测试(在192.168.200.20上启动)

    ptunnel -p 192.168.200.34 -lp 2333 -da 192.168.100.7 -dp 3389 -x qidao
    

    如果内网机器是linux的话,把3389换成22就好了.

    ptunnel -p 192.168.200.34 -lp 2333 -da 192.168.100.7 -dp 22 -x qidao
    

    -p 指定ICMP隧道另一端的IP

    -lp:指定本地监听的端口

    -da:指定要转发的目标机器的IP

    -dp:指定要转发的目标机器的端口

    -x:指定连接密码
    在这里插入图片描述
    在这里插入图片描述

    成功连接

    3在这里插入图片描述

    最后总结一下,

    (1)在安装pingtunnel之前,一定一定tm先安装它的运行环境,不然pingtunnel是运行不了的
    (2)pingtunnel其实也可以在window环境中运行,但是有有人可能会问,pingtunnel都没有exe文件,怎么才能运行啊,这个楼主也试了其他办法,能在window环境运行了,但是就是不能打通隧道,这也是我一直把web服务器用linux系统来做。

    如果有其他大佬web服务器用window系统打通隧道的话,

    麻烦说下QWQ,万飞感谢

    参考文章
    https://www.cnblogs.com/appear001/p/13282873.html
    https://blog.csdn.net/markecheng/article/details/110352161

    展开全文
  • 概述 今天碰到一个关于xshell连接自动断开问题,问题如下图所示,每次都是 1-2...但对基于ssh协议的xshell运用,总是出现自动断开情况。vi命令打开/etc/ssh/sshd_config文件,可以看到:ClientAliveInterva...

    概述

    今天碰到的一个关于xshell连接自动断开的问题,问题如下图所示,每次都是 1-2分钟就自动断开连接,这里总结分享下解决的一个过程。

    b506bfe2bd1eda6bd23aeefa8fd2d7c1.png

    1-2分钟就自动断开连接


    1、服务器端的配置

    作为服务器,默认一般都是被动的等待客户端的连接到来。但对基于ssh协议的xshell的运用,总是出现自动断开的情况。

    vi命令打开/etc/ssh/sshd_config文件,可以看到:

    ab582b4e1c3941bb6daa1c8768a3c77b.png

    ClientAliveInterval 用来指定服务器向客户端发送消息的时间间隔。默认是0,即不发送。

    ClientAliveCountMax 用来指定服务器向客户端发送消息的次数。若到达指定的次数,客户端一次也没有回复,那么连接就要断开。

    修改配置:

    ClientAliveInterval 60 //每隔60秒,服务器就要向客户端发送一次消息,客户端响应后,连接才会保持,否则,断开。

    ClientAliveCountMax 3 //可以使用默认值3


    2、客户端的配置

    Keep Alive修改。我的xshell的Keep Alive的默认Interval是60秒,即每隔60秒,客户端就要向服务器发送一次包,得到服务器的确认后,连接保持。

    11058085ddbae808d9654258e5a8617e.png

    这里修改为20,即缩短Interval。

    修改后测试问题解决。


    一般碰到xshell连接自动断开上的问题通过上面的方法基本可以解决,如果超过一定时间自动断开的话就要考虑是不是配置了TIMEOUT参数了。

    后面会分享更多运维和DBA方面的内容,感兴趣的朋友可以关注下~

    c6bf8a2e0d30a2dbbfa5672902cfaf18.gif
    展开全文
  • Cisco路由器配置GRE隧道

    千次阅读 2019-03-26 10:05:56
    GRE隧道是四种常见隧道协议之一,这四种常见隧道协议分别是: 第2层转发(L2F) 他是思科为支持虚拟专用拨号网络(VPDN)而开发第一种隧道协议,VPDN让设备能够通过拨号连接安全地访问公司网络 点到点隧道协议...
  • HTTP 隧道

    千次阅读 2018-05-28 21:39:12
    此系列文章对应 github地址 隧道 可以通过 HTTP 应用程序访问使用非 HTTP 协议的...使用 Web 隧道常见的原因就是要在 HTTP 连接中嵌入非 HTTP 流量,这样,这类流量就可以穿过只允许 Web 流量通过的防火墙了。...
  • 8.2 隧道

    2017-10-23 15:13:15
    HTTP 的另一种用法——Web 隧道(Web tunnel),这种方式可以通过 HTTP 应用程序...使用 Web 隧道常见的原因就是要在 HTTP 连接中嵌入非 HTTP 流量,这样,这类流量就可以穿过只允许 Web 流量通过的防火墙了。 1. 用
  • HTTP协议的请求方法

    2020-08-20 16:12:49
    常见的 HTTP 请求方法都有哪些? GET 获取资源 POST 传输实体的主体 PUT 传输文件 HEAD 获得报文首部 DELETE 删除指定资源 TRACE 追踪含有代理服务器的路径 ...要求使用隧道协议连接代理 ...
  • 目录 ICMP隧道 使用ICMP搭建隧道(PingTunnel) 使用ICMP搭建隧道(Icmptunnel) ...最常见的ping命令就是利用的ICMP协议,攻击者可以利用命令行得到比回复更多的ICMP请求。在通常情况下,每个ping命令都有相...
  • ICMP隐藏通信隧道技术

    2020-08-04 16:59:07
    常见的ICMP隧道工具有icmpsh,PingTunnel,icmptunnel,powershell icmp等 ICMP隧道搭建条件: 目标主机必须支持ICMP协议的进出 探测ICMP协议是否支持: 目标主机与攻击主机能够相互PING通即可 icmpsh i
  • 隧道在计算机领域里,隧道是指使用某个网络协议封装另外一种网络协议的...在这种情况下,如果要在目标系统的内网使用外网的其他网络协议,就需要构建HTTP协议的隧道。这样,防火墙就会放行隧道封装的数据。dns2tcpd...
  • DNS在整个互联网体系中处于入口的重要位置,近年来利用或针对DNS的网络攻击呈愈演愈烈之势,而DNS隧道就是其中...DNS隧道已经存在很长时间,常见的攻击工具包括dns2tcp、dnscat2、Iodine、OzymanDNS、SplitBrain、TCP o
  • 『DNS隧道工具』— dnscat2

    千次阅读 多人点赞 2019-01-22 13:01:00
    Dnscat2是一个DNS隧道工具,通过DNS协议创建加密命令和控制通道,它一大特色就是服务端会有一个命令行控制台,所有指令都可以在该控制台内完成。包括:文件上传、下载、反弹Shell…… 使用热度: ★★★★☆ ...
  • 常见的方法有如下几种: 1. 在网卡属性的“网络”中,将“Internet协议版本(TCP/IPv6)”前面的勾去掉,结果发现不起作用。 2.在命令行模式下分别执行如下三条命令,结果发现显示的信息会少一些,但依然可以看到很...
  • IPsec VPN 关键技术 隧道技术 数据加密 身份认证 密钥管理 访问控制 网络管理 ...构建VPN核心技术 隧道:通过Internet提供安全点到点(或端到端)数据传输“安全通道” ...常见VPN隧道协议: 第二
  • icmp隧道简单、实用,是一个比较特殊的协议。在一般的通信协议里,如果两台设备进行通信肯定需要开放端口,而在icmp协议中则不需要。最常见的icmp消息为ping命令的回复,攻击者可以利用命令行得到比回复更多的icmp...
  • ICMP隧道之icmpsh利用

    2021-02-10 12:09:52
    icmp隧道简单、实用,是一个比较特殊的协议。在一般的通信协议里,如果两台设备进行通信肯定需要开放端口,而在icmp协议中则不需要。最常见的icmp消息为ping命令的回复,攻击者可以利用命令行得到比回复更多的icmp...
  • 几个隧道备注

    2013-01-07 08:53:47
    2,web 隧道,即通过建立HTTP隧道或者HTTP连接来发送非HTTP的流量,这样就可以在HTTP上捎带其他协议的数据了,使用web隧道常见的原因是要在HTTP连接中嵌入非HTTP流量,这样,这类流量就可以穿
  • 虽然任何网络服务都可以通过SSH实现安全传输,SSH最常见的用途是远程登录系统,人们通常利用SSH来传输命令行界面和远程执行命令。 为什么要使用SSH? 传统的网络服务程序,如:ftp、pop和te...
  • Linux IP in IP隧道简述

    2017-08-09 23:34:00
    前言:IPIP隧道是一种三层隧道,通过把原来的IP包封装在新的IP包里面,来创建隧道传输。本篇简单分析Linux...因为是三层隧道,在IP报文中填充的三层协议自然就不能是常见的TCP和UDP,所以,Linux抽象了一个隧道...
  • 作者:Taoing 编辑:白帽子社区...最常见的ping命令就是利用的ICMP协议,攻击者可以利用命令行得到比回复更多的ICMP请求。在通常情况下,每个ping命令都有相应的回复与请求。在一些网络环境中,如果攻击者使用各类...
  • ICMP隧道‍ICMP隧道是一个比较特殊的协议。在一般的通信协议里,如果两台设备要进行通信,肯定要开放端口,而在ICMP协议下就不需要。最常见的ICMP消息为Ping命令的回复,攻击者可以利用命令得到比回复更多的ICMP请求...
  • 作者:Taoing 编辑:白帽子社区...最常见的ping命令就是利用的ICMP协议,攻击者可以利用命令行得到比回复更多的ICMP请求。在通常情况下,每个ping命令都有相应的回复与请求。在一些网络环境中,如果攻击者使用各类...
  • 隐藏通信隧道-判断内网连通性 ...常见的允许流量流出的端口有80、8080、443、53、110、123等。 —-《内网安全攻防–渗透测试实战指南》 1、ICMP 协议 使用ping 命令进行探测:ping <ip地址或者域名>
  • 使用ICMP进行命令控制(Icmpsh)目录ICMP隧道使用ICMP进行命令控制...最常见的ping命令就是利用的ICMP协议,攻击者可以利用命令行得到比回复更多的ICMP请求。在通常情况下,每个ping命令都有相应的回复与请求。在...
  • 这里是渗透攻击红队第 12 篇文章,本公众号会记录一些我学习红队攻击复现笔记(由浅到深),笔记复现来源于《渗透攻击红队百科全书》出自于 亮神 ,每周一更ICMP隧道ICMP隧道是一个比较特殊的协议。在一般通信...
  • 我简单介绍一下建立通信隧道常见的有端口转发等 主要隧道有: icmp tcp udp SSH HTTP DNS 0x01 首先判断出网协议 icmp协议: ping 命令 ping www.baidu.com TCP协议: curl www.baidu.com nc IP HT...
  • 这里是渗透攻击红队第 12 篇文章,本公众号会记录一些我学习红队攻击复现笔记(由浅到深),笔记复现来源于《渗透攻击红队百科全书》出自于 亮神 ,每周一更ICMP隧道ICMP隧道是一个比较特殊的协议。在一般通信...
  • 前言 今天开始讲讲木马攻防,感觉这些内容大家应该会更感兴趣一些,就从隧道木马说起。为什么会有隧道木马这一说呢?...端口映射的使用,以下图为例,这是一个在渗透测试中,比较常见的场景。 一个hacke...

空空如也

空空如也

1 2 3 4 5 6
收藏数 115
精华内容 46
热门标签
关键字:

常见的隧道协议