tcp协议

nmap工具详解

不想你离开。 提交于 2020-03-12 00:35:19
nmap工具介绍 nmap是网络探测和安全扫描程序,系统管理者和个人可以使用这个软件扫描大型的网络,获取主机正在运行以及提供什么服务等信息。nmap工具支持多种扫描方式:UDP扫描、TCP connect()扫描、 TCP SYN(半开扫描)、ftp代理(bounce攻击)扫描、反向标志、ICMP扫描、FIN扫描、ACK扫描、圣诞树(Xmas Tree)扫描、 null扫描。探测操作系统类型,探测关闭的主机,诱饵扫描,避开端口过滤检测,直接RPC扫描(无须端口影射),碎片扫描,以及灵活的目标和端口设定。Can pass hostnames, IP addresses, networks, etc. nmap语法 nmap [Scan Type(s)] [Options] nmap功能详解 主机探测发现 HOST DISCOVERY 端口扫描 SCAN TECHNIQUES 服务版本探测 SERVICE/VERSION DETECTION 系统版本探测 OS DETECTION 防火墙/IDS规避 FIREWALL/IDS EVASION AND SPOOFING NSE脚本引擎 SCRIPT SCAN 扫描端口状态详解 open 目标主机端口开放 closed 目标主机端口关闭 filtered 端口被防火墙IDS/IPS屏蔽,无法确定其状态 unfiltered 端口没有被屏蔽

tcp协议详解(一)

自作多情 提交于 2020-03-11 21:47:06
t cp协议是tcp/ip协议族的重要成员,相比于ip协议;TCP协议更靠近应用层;可操作性根强,一些重要的socket都和tcp协议有关; 本文将从以下四个方面去介绍tcp协议: 【1】tcp头部信息:tcp头部信息出现在每一个tcp报文段中,用于确定通信的源端口号,目的端口号,管理tcp链接,控制两个方向的数据流; 【2】tcp状态转移过程:tcp连接的任意一端都是状态机。在tcp连接从建立连接到断开连接的整个过程中,连接两端的状态机将经历不同的状态变迁;理解tcp状态转移对于调试网络应用程序将有很大的帮助; 【3】tcp数据流:通过分析数据流,我们就可以从网络应用程序外部来了解应用层协议和通信双方交换的应用数据。这一部分将讨论两种类型的tcp数据流:交互数据流和成块数据流。tcp数据流中有一种特殊的数据,称为紧急数据。我们也将简单讨论之; 【4】tcp数据流的控制:为了保证可靠传输和提高网络通信质量,内核需要对tcp数据流进行控制。这一部分讨论tcp数据流控制的两个方面:超时重传和拥塞控制。   不过详细介绍tcp协议之前,我们先了解一下tcp服务的特点,以及他和udp服务的区别; tcp服务的特点   传输层协议主要有两个:tcp协议和udp协议 tcp相对于udp的特点是:面向连接的,字节流的,可靠传输;    使用tcp协议通信的双方必须建立连接,然后才能开始数据的读写

TCP/IP Socket网络编程

半城伤御伤魂 提交于 2020-03-11 10:05:35
典型的Client/Server程序流程图 面向流的套接字程序通常遵循规定的顺序。有关典型客户端和服务器的逻辑流程图,请参见下图。在研究此图时,请记住一个事实,即 并发服务器通常在客户端启动之前启动 ,并在步骤3等待客户端请求连接。然后,在关闭客户端连接后,它将继续等待其他客户端请求。 步骤1:服务器和客户端使用socket()调用创建一个流socket。 步骤2 :(对于客户端是可选的)使用bind()调用将套接字s绑定到本地地址。 步骤3:服务器使用listen()调用向TCP / IP机器发出接受连接意愿的警报。 步骤4:客户端使用connect()调用将套接字s连接到外部主机。 步骤5:服务器接受连接,并通过accept()阻塞,直到在此套接字上建立新连接例如ns或出现错误。 步骤6和7:服务器使用send()和recv()调用在套接字ns上读取和写入数据,客户端在套接字s上读取和写入数据,直到所有数据都已交换。 步骤8:服务器使用close()调用关闭套接字ns。客户端关闭套接字s,并通过close()调用结束TCP / IP会话。转到步骤5。 Basic socket calls Socket: 获取一个要读取或写入的套接字。 Bind: 将套接字与端口号关联。 Listen: 告诉TCP⁄IP该进程正在侦听此套接字上的连接。 Select: 等待套接字上的活动。

认识计算机网络

不问归期 提交于 2020-03-11 04:41:15
计算机自诞生伊始,经历了一系列演变与发展。大型通用机计算机、超级计算机、小型机、个人电脑、工作站、便携式电以及现如今的智能手机终端都是这一过程的产物。它们性能逐年增强,价格却逐年下降,机体规模也在逐渐变小。随着计算机的发展,人们不再局限于单机模式,而是将一个个计算机连接在一起,形成一个计算机网络。从而实现信息共享,同事在能在两台物理位置较远的机器之间即时传递消息。计算机网络根据规模可以分为WAN(Wide Area Network,广域网)和LAN(Local Area Network,局域网)。将有业务往来的计算机连在一起便组成了私有网络,将多个私有网络连接一起就成了为公众使用的互联网。随着互联网爆发性地发展与普及,信息网络如同我们身边的空气,触手可及。但是在以前,对一般人来说使用一台计算机都不是那么容易的事情。 计算机与网络大致可以分为7个阶段: 一、20世纪50年代的批处理时代 二、20世纪60年代的分时系统时代 三、20世纪70年代的计算机间通信时代 四、20世纪80年代的计算机网络时代 五、20世纪90年代的互联网普及时代 六、2000年的以互联网为中心的时代 七、2010年的无论何时何地一切皆TCP/IP的网络时代 互联网是由许多独立发展的网络通信技术融合而成。能够使它们之间不断融合并实现统一的正是TCP/IP技术。 那什么是TCP/IP呢? TCP

tcpdump抓包问题

岁酱吖の 提交于 2020-03-11 02:44:50
使用tcpdump抓取某个IP地址的包来分析TCPIP协议的握手过程, sudo tcpdump i 7 "tcp[tcpflags] != 0 and host 127.0.0.1" -c 3 也就是前三个包,发现TCP的Flags的标记位为Flags[.],这个Flags[.]中的点就代表ACK标记为1. 来源: CSDN 作者: GJQI12 链接: https://blog.csdn.net/GJQI12/article/details/104747682

浅谈TCP半连接攻击与全连接攻击

与世无争的帅哥 提交于 2020-03-11 02:30:23
全连接攻击: 所谓的全连接攻击说的就是客户端仅仅“连接”到服务器,然后再也不发送任何数据,直到服务器超时后处理或者耗尽服务器的处理进程。 为何不发送任何数据呢?因为一旦发送了数据,服务器检测到数据不合法后就可能断开此次连接,如果不发送数据的话,很多服务器只能阻塞在recv或者read调用上。 很多的服务器架构都是每连接一个进程的方式,这种服务器更容易受到全连接攻击,即使是进程池/线程池的方式也不例外,症状就是服务器主机建立了大量的客户端处理进程,然后阻塞在recv/read而无所事事,大量的这种连接会耗尽服务器主机的处理进程。 如果处理进程数量达到了主机允许的最大值,那么就会影响到该主机的正常运作,比如你再也无法ssh到该主机上了。 半连接攻击 半连接攻击是一种针对协议栈的攻击,或者说是一中针对主机的攻击,皮之不存毛将焉附,主机一旦被攻击而耗尽了内存资源,用户态的应用程序也将无法运行。 半连接攻击是一种攻击协议栈的攻击方式,坦白说就是攻击主机的一种攻击方式。通过将主机的资源消耗殆尽,从而导致应用层的程序无资源可用,导致无法运行。 在正常情况下,客户端连接服务端需要通过三次握手,首先客户端构造一个SYN连接数据包发送至服务端,自身进入SYN_SEND状态,当服务端收到客户端的SYN包之后,为其分配内存核心内存,并将其放置在半连接队列中

TCP的三次握手和四次挥手的通俗化解释

梦想的初衷 提交于 2020-03-11 01:12:01
TCP的三次握手和四次挥手 TCP的三次握手的简单过程:1-3 0-服务器进程在创建的时候就进入listen状态,随时准备接受客户端请求(前置) 1-首先客户端向服务器发送连接请求(SYN),同时客户端主动进入syn_send(同步已发送)状态–半打开状态。 2-服务器接收到请求之后,进行自身确认请求+发出确认报文(syn+ack),这是两个动作合并成了一个,同时,服务器被动进入syn_rcvd(同步收到)状态–半打开状态。 3-客户端接收到服务器发出的确认报文之后,再一次向服务器发出确认链接报文(syn),此时客户端也进入estalished(已建立连接)状态;当服务器再次收到客户端的确认链接后进入established(已建立连接)状态,双方开始通信。 为什么是三次握手连接 假如是两次握手: 场景==》 客户端发送了第一条请求因为网络延时滞留在网络节点中 ,这时候客户端迟迟没有收到服务器的确认报文,就会认为服务器没有收到请求,就会** 重新 **进行请求,然后服务器收到后进行确认回复,这时就完成了两次握手,完成连接,传输数据,然后关闭连接。这时,滞留在网络的节点中的请求在网络通畅后到达了服务器,之后服务器还是会进行确认回复,这样就再次完成两次握手,重新建立了连接。就会导致错误和浪费。 **为什么不是四次或者更多:**tcp协议建立连接,三次就能够最大程度上达到可靠连接了

7.传输层协议:TCP/UDP

六月ゝ 毕业季﹏ 提交于 2020-03-11 01:08:51
7.传输层协议:TCP/UDP 前言 传输层定义了主机应用程序之间端到端的连通性。传输层中最为常见的两个协议分别是传输 控制 协议TCP和用户数据包协议UDP; TCP/UDP工作原理、报文格式、应用场景 面向连接: 建立连接前先发数据包 面向无连接: 不用建立连接,就是打电话和发短信的区别; TCP 面向连接的传输层协议,可提供可靠的传输服务 转存失败 重新上传 取消 TCP端口号 端口号区分不同的网络服务 端口分类 0-1023 固定端口 0-65535 动态端口 23 telnet 22 ssl 20/21 FTP 80 HTTP 超文本传输协议 52 DNS 3389 远程桌面 转存失败 重新上传 取消 转存失败 重新上传 取消 TCP头部 源端口号、目的端口号 序列号、确认序列号(TCP特点:可靠) 头部长度(20-60字节)、保留、六个标志(指针是否有效、确认序列号、为1立刻读取走、要求重新建立连接、请求建立连接、控制对端关闭)、窗口--控制流量大小; SYN:初始化请求 ACK:确认 FIN:结束请求 window:窗口,防止拥塞 校验和、可选字段(通常没用) 转存失败 重新上传 取消 转存失败 重新上传 取消 TCP建立连接的过程 三次握手四次断开,序列号+1回复 转存失败 重新上传 取消 TCP建立连接的过程 转存失败 重新上传 取消 TCP流量的控制 滑动窗口

主动信息收集

不羁的心 提交于 2020-03-10 23:33:04
主动信息收集介绍 直接与目标系统交互通信,无法避免留下访问痕迹,使用受控的第三方电脑进行探测,使用代理或已经被控制的机器扫描,扫描发送不同的探测,根据返回结果判断目标状态 基于TCP/IP模型进行扫描 二层扫描 扫描速度快可靠,不可路由 三层扫描 扫描速度快可靠,可路由,可能被边界防火墙过滤 四层扫描 扫描速度慢可靠,可路由,不太可能被边界防火墙过滤 二层扫描命令 1、 arping工具 功能优点:arping主要查看IP的MAC地址,ARP协议主要负责将局域网中的 32位IP地址转换为对应的48位物理地址 缺点:arping工具只能ping一个IP地址,不能ping一个IP段。但是可以通过脚本将整个网络中的IP进行扫描 -c:发送指定数量的arp包后,立即停止退出 -d:当局域网有IP占用的时候,可以指定这个参数,当有相同的IP的不同 MAC地址reply的时候,arping会退出,退出码为1 -r:输出的时候只打印MAC -R:输出的时候只打印IP -s:指定源MAC地址 -S :指定源IP地址 -q:表示不打印输出 2、Netdiscover工具 功能优点:Netdiscover是一个主动/被动的 ARP侦查工具。使用 Netdiscover工具可以在网络上扫描 IP地址检查在线主机或搜索为它们发送的 ARP请求 主动模式:主动发起arp请求,等待其他主机回包

100 个网络基础知识

↘锁芯ラ 提交于 2020-03-10 20:31:35
1、什么是链接? 链接是指两个设备之间的连接。它包括用于一个设备能够与另一个设备通信的电缆类型和协议。 2、OSI 参考模型的层次是什么? 有 7 个 OSI 层:物理层,数据链路层,网络层,传输层,会话层,表示层和应用层。 3、什么是骨干网? 骨干网络是集中的基础设施,旨在将不同的路由和数据分发到各种网络。它还处理带宽管理和各种通道。 4、什么是 LAN? LAN 是局域网的缩写。它是指计算机与位于小物理位置的其他网络设备之间的连接。 5、什么是节点? 节点是指连接发生的点。它可以是作为网络一部分的计算机或设备。为了形成网络连接,需要两个或更多个节点。 6、什么是路由器? 路由器可以连接两个或更多网段。这些是在其路由表中存储信息的智能网络设备,例如路径,跳数等。有了这个信息,他们就可以确定数据传输的最佳路径。路由器在 OSI 网络层运行。 7、什么是点对点链接? 它是指网络上两台计算机之间的直接连接。除了将电缆连接到两台计算机的 NIC卡之外,点对点连接不需要任何其他网络设备。 8、什么是匿名 FTP? 匿名 FTP 是授予用户访问公共服务器中的文件的一种方式。允许访问这些服务器中的数据的用户不需要识别自己,而是以匿名访客身份登录。 9、什么是子网掩码? 子网掩码与 IP 地址组合,以识别两个部分:扩展网络地址和主机地址。像 IP 地址一样,子网掩码由 32 位组成。 10