HOME 首页
SERVICE 服务产品
XINMEITI 新媒体代运营
CASE 服务案例
NEWS 热点资讯
ABOUT 关于我们
CONTACT 联系我们
创意岭
让品牌有温度、有情感
专注品牌策划15年

    Tcp命令(tcp命令大全)

    发布时间:2023-03-12 14:21:11     稿源: 创意岭    阅读: 129        问大家

    大家好!今天让创意岭的小编来大家介绍下关于Tcp命令的问题,以下是小编对此问题的归纳整理,让我们一起来看看吧。

    ChatGPT国内免费在线使用,能给你生成想要的原创文章、方案、文案、工作计划、工作报告、论文、代码、作文、做题和对话答疑等等

    你只需要给出你的关键词,它就能返回你想要的内容,越精准,写出的就越详细,有微信小程序端、在线网页版、PC客户端,官网:https://ai.de1919.com

    本文目录:

    Tcp命令(tcp命令大全)

    一、tcpdump 命令使用简介

    tcpdump 是一款强大的网络抓包工具,运行在 linux 平台上。熟悉 tcpdump 的使用能够帮助你分析、调试网络数据。

    要想使用很好地掌握 tcpdump, 必须对网络报文( TCP/IP 协议)有一定的了解。不过对于简单的使用来说,只要有网络基础概念就行了。

    tcpdump 是一个很复杂的命令,想了解它的方方面面非常不易,也不值得推荐,能够使用它解决日常工作中的问题才是关键。

    tcpdump 的选项也很多,要想知道所有选项的话,请参考 man tcpdump ,下面只记录 tcpdump 最常用的选项。

    完整的英文文档: https://www.tcpdump.org/tcpdump_man.html

    需要注意的是,tcpdump 默认只会截取前 96 字节的内容,要想截取所有的报文内容,可以使用 -s number , number 就是你要截取的报文字节数,如果是 0 的话,表示截取报文全部内容。

    Frame = Ethernet Header + IP Header + TCP Header + TCP Segment Data

    Ethernet Header 以下的IP数据报最大传输单位为 MTU (Maximum Transmission Unit,Effect of short board),对于大多数使用以太网的局域网来说, MTU=1500 。

    TCP数据包每次能够传输的最大数据分段为MSS,为了达到最佳的传输效能,在建立TCP连接时双方将协商MSS值——双方提供的MSS值中的最小值为这次连接的最大MSS值。MSS往往基于MTU计算出来,通常 MSS =MTU-sizeof(IP Header)-sizeof(TCP Header)=1500-20-20=1460。

    这样,数据经过本地TCP层分段后,交给本地IP层,在本地IP层就不需要分片了。但是在下一跳路由(Next Hop)的邻居路由器上可能发生IP分片!因为路由器的网卡的MTU可能小于需要转发的IP数据报的大小。

    这时候,在路由器上可能发生两种情况:

    (1)如果源发送端设置了这个IP数据包可以分片(May Fragment,DF=0),路由器将IP数据报分片后转发。

    (2)如果源发送端设置了这个IP数据报不可以分片(Don’t Fragment,DF=1),路由器将IP数据报丢弃,并发送ICMP分片错误消息给源发送端。

    默认启动,普通情况下,直接启动tcpdump将监视第一个网络接口上所有流过的数据包

    监听所有端口,直接显示 ip 地址。

    显示更详细的数据报文,包括 tos, ttl, checksum 等。

    显示数据报的全部数据信息,用 hex 和 ascii 两列对比输出。

    下面是抓取 ping 命令的请求和返回的两个报文,可以看到全部的数据。

    机器上的网络报文数量异常的多,很多时候我们只关系和具体问题有关的数据报(比如访问某个网站的数据,或者 icmp 超时的报文等等),而这些数据只占到很小的一部分。把所有的数据截取下来,从里面找到想要的信息无疑是一件很费时费力的工作。而 tcpdump 提供了灵活的语法可以精确地截取关心的数据报,简化分析的工作量。这些选择数据包的语句就是过滤器(filter)!

    过滤器也可以简单地分为三类: type , dir 和 proto 。

    Type 让你区分报文的类型,主要由 host (主机), net (网络) 和 port (端口) 组成。 src 和 dst 也可以用来过滤报文的源地址和目的地址。

    此外还有指定端口和数据报文范围的过滤器:

    过于过滤器的更多详细信息,请访问 tcpdump 官方 map page 的 PCAP-FILTER 部分

    使用 tcpdump 截取数据报文的时候,默认会打印到屏幕的默认输出,你会看到按照顺序和格式,很多的数据一行行快速闪过,根本来不及看清楚所有的内容。不过,tcpdump 提供了把截取的数据保存到文件的功能,以便后面使用其他图形工具(比如 wireshark,Snort)来分析。

    -w 选项用来把数据报文输出到文件,比如下面的命令就是把所有 80 端口的数据导入到文件

    -r 可以读取文件里的数据报文,显示到屏幕上。

    NOTE:保存到文件的数据不是屏幕上看到的文件信息,而是包含了额外信息的固定格式 pcap,需要特殊的软件(如: Wireshark )来查看,使用 vim 或者 cat 命令会出现乱码。

    过滤的真正强大之处在于你可以随意组合它们,而连接它们的逻辑就是常用的 与/AND/&& 、 或/OR/|| 和 非/not/! 。

    从上面的例子就可以看出,你可以随意地组合之前的过滤器来截取自己期望的数据报,最重要的就是知道自己要精确匹配的数据室怎样的!

    对于比较复杂的过滤器表达式,为了逻辑的清晰,可以使用括号。不过默认情况下,tcpdump 把 () 当做特殊的字符,所以必须使用单引号 ' 来消除歧义:

    抓取所有经过eth1,目的地址是192.168.1.254或192.168.1.200端口是80的TCP数

    抓取所有经过eth1,目标MAC地址是00:01:02:03:04:05的ICMP数据

    抓取所有经过eth1,目的网络是192.168,但目的主机不是192.168.1.200的TCP数据

    截取数据只是第一步,第二步就是理解这些数据,下面就解释一下 tcpdump 命令输出各部分的意义。

    最基本也是最重要的信息就是数据报的源地址/端口和目的地址/端口,上面的例子第一条数据报中,源地址 ip 是 192.168.1.106 ,源端口是 56166 ,目的地址是 124.192.132.54 ,目的端口是 80 。 > 符号代表数据的方向。

    此外,上面的三条数据还是 tcp 协议的三次握手过程,第一条就是 SYN 报文,这个可以通过 Flags [S] 看出。下面是常见的 TCP 报文的 Flags:

    而第二条数据的 [S.] 表示 SYN-ACK ,就是 SYN 报文的应答报文。

    如果是为了查看数据内容,建议用 tcpdump -s 0 -w filename 把数据包都保存下来,然后用wireshark的Follow TCP Stream/Follow UDP Stream来查看整个会话的内容。 -s 0 是抓取完整数据包,否则默认只抓68字节。用tcpflow也可以方便的获取TCP会话内容,支持tcpdump的各种表达式。

    -c 参数对于运维人员来说也比较常用,因为流量比较大的服务器,靠人工CTRL+C还是抓的太多,甚至导致服务器宕机,于是可以用 -c 参数指定抓多少个包。

    上面的命令计算抓10000个SYN包花费多少时间,可以判断访问量大概是多少。

    Wireshark(以前是ethereal)是Windows下非常简单易用的抓包工具。但在Linux下很难找到一个好用的图形化抓包工具。

    还好有Tcpdump。我们可以用Tcpdump + Wireshark 的完美组合实现:在 Linux 里抓包,然后在Windows 里分析包。

    0x4745 为"GET"前两个字母"GE"

    0x4854 为"HTTP"前两个字母"HT"

    tcpdump 对截获的数据并没有进行彻底解码,数据包内的大部分内容是使用十六进制的形式直接打印输出的。显然这不利于分析网络故障,通常的解决办法是先使用带 -w 参数的tcpdump 截获数据并保存到文件中,然后再使用其他程序(如 Wireshark )进行解码分析。当然也应该定义过滤规则,以避免捕获的数据包填满整个硬盘。

    基本上tcpdump总的的输出格式为: 系统时间 来源主机.端口 > 目标主机.端口 数据包参数

    二、如何使用命令查看当前活动的TCP连接、计算机侦听的端口、以太网统计信息、IP路由表等信息

    你好!

    DOS命令:netstat

    netstat 主机:查看主机当前的tcp/ip连接状态,如端口的状态。

    例子:netstat 192.168.1.1

    返回值有 协议、本地端口地址、端口地址、端口状态

    输入:netstat ?

    NETSTAT [-a] [-b] [-e] [-n] [-o] [-p proto] [-r] [-s] [-v] [interval]

    -a 显示所有连接和监听端口。

    -b 显示包含于创建每个连接或监听端口的

    可执行组件。在某些情况下已知可执行组件

    拥有多个独立组件,并且在这些情况下

    包含于创建连接或监听端口的组件序列

    被显示。这种情况下,可执行组件名

    在底部的 [] 中,顶部是其调用的组件,

    等等,直到 TCP/IP 部分。注意此选项

    可能需要很长时间,如果没有足够权限

    可能失败。

    -e 显示以太网统计信息。此选项可以与 -s

    选项组合使用。

    -n 以数字形式显示地址和端口号。

    -o 显示与每个连接相关的所属进程 ID。

    -p proto 显示 proto 指定的协议的连接;proto 可以是

    下列协议之一: TCP、UDP、TCPv6 或 UDPv6。

    如果与 -s 选项一起使用以显示按协议统计信息,proto 可以是下列协议

    之一:

    IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 或 UDPv6。

    -r 显示路由表。

    -s 显示按协议统计信息。默认地,显示 IP、

    IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 和 UDPv6 的统计信息;

    -p 选项用于指定默认情况的子集。

    -v 与 -b 选项一起使用时将显示包含于

    为所有可执行组件创建连接或监听端口的

    组件。

    interval 重新显示选定统计信息,每次显示之间

    暂停时间间隔(以秒计)。按 CTRL+C 停止重新

    显示统计信息。如果省略,netstat 显示当前

    配置信息(只显示一次)

    希望我的回答对你有所帮助~

    三、谁能给我讲 TCP/IP

    分类: 电脑/网络 >> 互联网

    解析:

    TCP/IP(图片请参考我的参考资料网址)

    1. 前言

    本文用于介绍TCP/IP协议的最基本内容,十分简单,也十分基本,如果希望了解详细的内容,请参阅其它资料,这只是给初学者用的。

    2. TCP/IP介绍

    TCP/IP通常指的是关于TCP和IP的任何东西,它是一个统称,它既可以包括其它协议,其它应用程序,还可以包括网络介质。

    2.1 基本结构

    为了理解这个技术,最好称理解下图:

    这个结构存在于Inter中计算机之中,它决定了计算机在网络上的动作。

    2.2 名词

    数据块的名称会因为它处于不同的协议栈而不同。这里给出一个总结:在以太网时,它称为一个以太网帧,在IP上时,它称为IP包,如果数据在IP和UPD之间一般称为UDP数据报,而数据如果在IP和TCP之间,则称为TCP段(或消息),而数据在应用程序中时,则称为应用程序消息。这种定义不是绝对的,不同的文章会有不同的说法。

    2.3 数据流

    数据流从应用程序流向TCP或UDP,我们通常知道的FTP是应用TCP协议的,而SNMP协议却是使用UDP协议的。数据由不同协议模块流向同一个以太网适配器。由适配器将数据传送到网络介质上去。上面的过程在接收方反向发生。

    以太帧传送到ARP或IP模块中,而以太帧中的数据决定此数据是由IP还是由ARP处理。如果是供IP处理的包,则由IP模块直接传送给TCP或UPD,具体传送给谁这由IP包头决定。而UDP包内的数据决定了应该由UPD协议上层的哪一个应用程序接收这个数据,这一点和TCP是一致的。数据在从应用程序下传到网络时,过程比较简单,各层把在数据上加入自己的包头信息,然后传送给下一层就行了。虽然Inter支持多种网络介质,但是一般我们都拿以太网范例。这里我们需要记住的是以太地址是唯一的,全球唯一的。计算机同时也拥有一个四个字节的IP地址,这个地址用于标记IP模块的地址,但对于Inter来说,IP地址不见得是唯一的。一台运行着的计算机通常知道自己的IP地址和以太地址。

    2.4 两个网络接口

    下图中一台计算机连接了两个以太网。

    请注意:上图中的计算机拥有两个IP地址和以太地址。这时IP模块将对应于多个物理适配器。

    多个IP模块对应多个物理适配器时,情况要复杂一些。

    上图说明了IP转发的过程,专用于转发IP包的计算机我们称为IP路由器。从上图中我们可以看出,IP转发的时候根本不需要TCP和UDP,所以有些IP路由器的实现中根本没有TCP和UPD模块。

    2.5 IP创建信号逻辑网络

    数据在从应用程序向网络介质传送的过程中,被各种协议加上包头,而由网络介质向应用程序传送时,这些加入的包头被一个个取消,而IP层加入的信息构成了一个逻辑网络,这个逻辑网络是相对于多个物理网络而言的。多个物理网络相互连接,就是我们现在经常听到的Inter的由来。

    2.6 物理网络独立性

    IP将下层的网络结构对上层的应用程序隐藏起来,如果您发明了一种新的网络,您只需要实现一种驱动程序,让它能够和IP进行通信就可以使您的网络连接入Inter。

    2.7 互连性

    如果Inter上的两台计算机能够进行通信,我们称它们互连了。我们的计算机一般都具有互连性,因此我们购买的计算机一般都可以在网络上相互通信。

    3. Ether

    下面我们看看以太技术,一个以太帧包括源地址,目的地址,类型域和数据。一个以太地址6个字节,每个以太适配器都有唯一的以太地址,而地址"FF-FF-FF-FF-FF-FF"代表一个广播地址。以太网使用CSMA/CD技术,这个技术使设备共享一条传输介质,某一时刻只能一台设备传送数据,如果两台同时传送就会产生冲突,而解释这种冲突的办法就是两个设备停一会儿(一个随机的时间)再传送数据。

    我们可以把以太技术想成许多人在一个黑屋子里说话,如果每次只有一个人说,那么对这个话感兴趣的人就会听到,记录下来,而不感兴趣的人就不管它就是了。如果两个人同时说,两个人就会听到自己在说话的时候还有另外一个人也在说,于是就停下来,过一会儿再说,这样来达到传送消息的目的。这里需要注意的是,屋子里的每个人有一个唯一的名字,这个名字就是以太地址,而如果某个人想对所有人说话,它就应用那个广播地址传送消息就可以了。

    4. ARP

    ARP是为了解决IP包发出后,目的以太地址如何确定的问题。ARP是用来将IP地址解释为以太地址的协议,这个协议只对由IP传出的数据有用。

    4.1 ARP地址翻译表

    这个翻译的过程中通过查询一张表进行的,每个机器的IP地址和以太网卡号就在这个表中,如果我想向一个IP地址发送消息,只需要查询一下这张表,知道目的以太地址是什么就可以了。下面就是一张这个的ARP表:

    IP地址 以太地址

    223.1.2.1 08-00-39-00-2F-C3

    223.1.2.3 08-00-5A-21-A7-22

    223.1.2.4 08-00-10-99-AC-54

    图1. ARP表

    IP地址在机器内部是一个4字节数,而人类的表示是如上表中的表示方法,这种方法称为点为十进制。这种翻译表是必须的,因为IP地址的选择和以太地址的选择是独立进行的。以太地址是生产厂商根据分配给它的地址空间直接烧结在网卡上的。

    4.2 经典的翻译过程

    在通常网络操作进行时,应用程序发送消息到TCP(或UDP),由TCP(或UDP)传送消息到IP模块,目的IP地址是已知的,在将这个包传送到以太适配器时一定要查找这个翻译表知道目的以太地址是什么。而这时ARP就管用了。

    4.3 ARP请示/响应对

    但是,ARP表如何从空变得那么充实呢?这是由ARP协议来完成填充工作的,它工作的基本过程是“需时再取”的原则。当ARP不能用于查询以太地址时,会发生下面两件事情:

    1. ARP用以太广播地址发送一个以太包到网络上,所有的计算机都会接收到这个包;

    2. 将需要发送的IP包放入发送队列中;

    发出的那个以太包就象一个问路的人一样,它带有如下信息:“如果您的IP地址和我想找的IP地址一样,请告诉我您的以太地址”,下面是一个ARP请示包的例子:

    发送者IP地址 223.1.2.1

    发送者以太地址 08-00-39-00-2F-C3

    目标IP地址 223.1.2.2

    目标以太地址 (空)

    表2. ARP请示包例子

    每台计算机的ARP模块检查自己的IP地址是不是和这个包内的IP地址一致,如果不一致,就什么也不干,如果一致,则返回一个响应,其中包括的信息指出了这个IP地址的以太地址。下面是一个响应包的例子:

    发送者IP地址 223.1.2.2

    发送者以太地址 08-00-28-00-38-A9

    目标IP地址 223.1.2.1

    目标以太地址 08-00-39-00-2F-C3

    表3. ARP响应包例子

    这个响应由原来发出请求的计算机接收,ARP就将相应的IP地址和以太地址加入ARP表中,这个过程不断地发生,这个表也就不断地加大了,更新过的ARP表如下图所示:

    IP地址 以太地址

    223.1.2.1 08-00-39-00-2F-C3

    223.1.2.2 08-00-28-00-38-A9

    223.1.2.3 08-00-5A-21-A7-22

    223.1.2.4 08-00-10-99-AC-54

    表4. 更新后的ARP表

    这个请求与响应的过程十分迅速,放入队列的IP包现在可以取出发送了,因为所需要的以太地址已经有了,可以发送了。如果没有目的主机,发出的请求就不会有回应,IP层抛弃需要发送的IP包,而上层协议也不清楚是网络断了,还是不存在目的主机,IP层不负责报告错误类型。

    5. Inter协议

    IP模块是Inter技术的核心,而它的路由技术是它成为核心的基础。了解路由需要也解互连是什么。

    5.1 直接路由

    下图是一个只有三台计算机的小网络,每台计算机有运行一个TCP/IP协议栈,每个计算机配有以太适配器,每个计算机都被指定一个独立的IP地址。

    当A发送IP包到B时,IP包头包括A的IP地址(这是源地址)和A的以太地址(这是源以太地址);同时这个包也包括B的IP地址和以太地址作为目的地址。

    地址 源 目的

    IP头 A B

    以太头 A B

    表5. 从A到B的IP包

    在这种情况下,使用IP是多余的,因为它根本没有起到什么作用,用IP只能增加多余的处理时间,占用了多余的传输带宽。B接收到这个包后,IP层检查这个包内的目的地址是不是和自己的IP地址一致,如果一致则将数据返回给上层协议。这称为直接路由。

    5.2 间接路由

    下面这个示意图更接近Inter真实的情况。三个小的以太网,每个网络中有三台计算机,它们有唯一以太地址,IP地址,这三个网络通过一台路由器连接,这台路由器有一个IP地址和三个以太地址,因为它和三个网络连接,当然要三个了。这里一定要记住,IP地址只有一个。

    计算机D是一台路由器,它的TCP/IP协议栈内可能根本没有TCP和UDP,而可能有多个ARP模块和多个以太驱动程序(因为有多个以太适配器,所以要多个驱动程序才可以)。网络管理员为每个子网(上图中有三个子网)指定一个网络号,是这个网络的名称,这个名称在上图是没有表示。

    如果计算机A希望和计算机B通信,采用直接路由就可以了。这个过程上面已经说过了。在同一个子网内均采用直接路由。如果计算机D希望和计算机A通信,这也是直接路由,直接通信就行了,D和其它所有计算机的通信都是直接通信。但是如果计算机A希望和非本子网内的计算机通信就不能采用直接路由了,它发送的IP包必须发到计算机D,由计算机D向其它网络发送,这种通信就是非直接的。

    路由对于IP协议上层的协议来说是透明的,它们根本不知道有什么路由存在。

    请注意下面的图,源地址是计算机A的,目的IP地址是计算机E,而目的以太地址却是计算机D的,这是因为计算机A和计算机E不处于同一个子网内,不能直接通信,需要由计算机D进行转发,因此这包只能发往计算机。

    地址 源 目的

    IP头 A E

    以太头 A D

    表6. 从计算机A到计算机E以太帧示意图

    对于计算机D来说,它的以太帧地址如下:

    地址 源 目的

    IP头 A E

    以太头 D E

    表7. 从计算机D到计算机E以太帧示意图

    因为计算机D和计算机E可以直接通信。我们可以看到,在直接通信时,目的IP地址和以太地址都是接收者的,而在非直接通信时,目的IP地址是接收者的,而目的以太地址却是路由器的。上面的例子比较简单,真实的路由要比这个复杂得多,因为现实中的网络十分大,要许多路由器同时工作,这时的情况就比较复杂了。

    5.3 IP路由规则

    对于要发出的IP包,IP必须决定如何发送,是采用直接发送还是非直接发送,这是在路由表的帮助下完成的。对于传入的IP包,IP模块必须能够识别它是不是自己需要的包,如果是自己需要的,就把数据传送到上一层协议中,如果不需要则进行转发。在IP包达到目的地址后,它不再转发了。

    5.4 IP地址

    IP地址是由网络管理者为一台计算机指定的地址,IP地址的一部分作为网络号,另一部分作为网络中的主机号。具体内容请大家查询相关资料。IP地址是由NIC管理的,所有直接连接到Inter上的计算机如果需要IP地址,必须和NIC联系,则它指定;如果您需要建立自己的网络,那相应的网络号也需要从NIC取得。

    5.5 名称

    人们喜欢使用计算机的名称,而不喜欢使用数字来标记一台计算机,对于小型网络,计算机名和IP地址的对应表可以保存在每台计算机上,如果是一个大型网络,则需要一台专用的计算机来负责IP地址到计算机名的转换。下面就是一个IP地址和计算机名的对应表。

    223.1.2.1 alpha

    223.1.2.2 beta

    223.1.2.3 gamma

    223.1.2.4 delta

    223.1.3.2 epsilon

    223.1.4.2 iota

    前一列是IP地址,后一列是计算机名。您可以为一个计算机名指定多个IP地址,那么通过哪一个IP地址都可以访问这台计算机。这个拥有多个IP地址的计算机在接收到包后,可以根据目的地址知道是不是发向自己的包,这个目的地址可以是自己的任何一个地址。名称也用于网络号,下面就是一个例子:

    223.1.2 development

    223.1.3 accounting

    223.1.4 factory

    前一列是IP地址,后一列是网络名。我们可以这个表上面的表对比一下,看看各个计算机属于什么网络。

    5.6 IP路由表

    我们上面已经提到过路由表这个名词,下面我们就仔细看一下这张表。它通常是由下面几列构成的:IP网络号,直接/非直接标记,路由器IP地址和接口号。这张表一般由管理员负责维护,因为是他为你的计算机指定了IP地址。

    5.7 直接路由

    下面我们仔细看一下我们上面看过的直接路由的例子。

    在计算机alpha内的路由表如下所示:

    网络 直接/非直接标记 路由器 接口号

    development 直接 (空) 1

    表8. 路由表范例

    我们可能通过UNIX下的"stat -r"命令看到类似这样的结果。

    5.8 实例

    Alpha发送IP包到beta,alpha中的IP包的目的地址是beta的地址(223.1.2.2)。IP取得网络号部分,查询路由表中的第一部分,看这个包应该包到什么地方,它发现这个网络和表中的第一个项目一致。而这个项目中的其它信息表示,目的计算机可以直接通信,于是直接进行ARP翻译(解析),通过接口1发送数据。

    5.9 非直接路由

    下面我们仔细看一下我们上面看过的非直接路由的例子。

    计算机alpha内的路由表如下所示:

    网络 直接/非直接标记 路由器 接口号

    development 直接 (空) 1

    accounting 非直接 devrouter 1

    factory 非直接 devrouter 1

    表10. Alpha内的路由表

    5.10 实例

    Alpha发送IP包到epsilon,IP包内的目的地址是epsilon的(223.1.3.2)。IP分析目的地址的网络号部分,查询路由表中的第一列,发现第二个项目符合条件。此项目中的信息表示计算机可以由路由器devrouter达到,Alpha的IP模块进行ARP解析,将数据通过接口1传送到devrouter的IP地址上。这个包仍然包括着目的机IP地址223.1.3.2。这个包到达development网络接口,传送到delta计算机的IP模块,delta计算机发现这个包不是给它的,于是决定转发。Delta的IP模块从目的地址中解析出网络号,查询路由表,Delta的路由表如下所示:

    网络 直接/非直接标记 路由器 接口号

    development 直接 (空) 1

    factory 直接 (空) 3

    accounting 直接 (空) 2

    表11. Delta的路由表

    第二条符合条件,于是IP模块接口3将数据发送到计算机epsilon,IP包到达epsilon时,epsilon的IP模块发现目的地址和自己的一致,于是将接收到的数据向上一层协议传送。

    5.11 路由总结

    在一个大型网络中,IP包在到达目的计算机前一般需要经过多个路由器,它前进的路线不是事先定好的,而是在各个路由器上一步步查询出来的,每个计算机只管一段,只保证把数据传送到下一站,至于下一站怎么办,它就不管了。

    5.12 管理路由

    在大型网络的每台机器上支持一张路由表可不是件容易事,路由器如果出了问题会对网络传输不能进行。我们也可以使用ICMP协议对网络进行监控。一台机器从一个地方移到另一个地方必须更改计算机的IP地址,如果要更新主机地址文件,这简单是不可能的,而DNS帮助解决这个问题。

    6. 用户数据报协议(UDP)

    UDP是在IP上的两个重要协议之一,它为用户的网络应用程序提供服务,我们经常使用的NFS,SNMP就是使用UDP协议的。UDP协议不是面向连接的。这一点是和TCP协议不同的。UDP在IP包上加上了端口号和校验码两个参数。

    6.1 端口

    一台计算机上的客户程序如何达到服务器呢?应用程序和UDP的通信线路是通过UDP端口一样的,这些端口是数字的,以0开始,一个端口一般和一个服务对应。服务器和客户就在这个端口等待对方的请求(或应答)。UDP保留由应用程序定义的消息边界。它决不把两个消息连接起来,或把一个消息分成两部分。

    6.2 校验码

    如果接收到的IP包内有一个标记“UDP”,IP模块就把数据传送到UDP,UDP检查校验码,如果运算得出的结果为0,数据是正确的。UDP的校验码可以产生也可以不产生。传送来的UDP包如果超过了上层应用程序的处理能力,就会暂时保存起来,如果保存的数据已经超过一定限制,则把UDP丢弃。

    7. 传输控制协议(TCP)

    TCP提供的服务不同于UDP,它们的最大区别在于TCP是面向连接的,TCP保证数据一定传送到接收者,而UDP可不保证。TCP用于一定要保证数据传输的场合,我们通常知道的FTP,TELNET是基于TCP协议的,而其它的一些TCP网络应用程序包括X-Window系统,rcp(远程复制)和R系列命令也是使用TCP的,TCP提供这样好的服务也是有代价的,它需要更多的CPU处理时间和网络带宽,TCP模块的复杂度也比UDP大得多。

    与UDP相同的是,应用程序必须和TCP端口连接请求服务,接收和发送数据。在应用程序开始运行时,服务器和客户机上的TCP模块开始相互通信,这两个TCP包含了状态信息,维持一条虚链路,这条虚链路是全双工的。TCP可以任意打包数据,不必管什么边界。例如,应用程序可以在一个端口写5次,远方的应用程序可以读10次把数据读完,这和UDP不同,在UDP下,在一个端口写几次,远程应用程序就要读几次。

    TCP支持滑动窗口协议,双方都进行流量控制,因此不会让缓冲区满。这也和UDP不同,在UDP的情况下,缓冲区可能因为应用程序的处理能力不足而变满。对于滑动窗口协议,它指定了一个窗口大小,这个大小指的是,在未接收到确认信息之前允许发送的数据数,在TCP中,窗口的大小是以字节为单位的。

    8. 网络应用程序

    TCP和UDP提供不同的服务,不同的应用程序会选择不同的协议,这里请您注意,如果您选择使用UDP进行可靠传输,那只能在UDP上层来提供可靠性。下面我们举出几个常用的应用程序。

    TELNET使用TCP提供远程登录。TELNET工作得非常好,它虽然古老,但是现在仍然在广泛使用,它经常用于在不同的操作系统间进行互连。 FTP协议和TELNET岁数差不多大了,它也使用TCP服务,在FTP时,您好象登录到远程计算机上,但您能够使用的命令却不那么多,FTP提供用户在计算机间复制文件的服务。UNIX中的远程命令一般都以R开始,这些命令一般都通过网络进行,我们就称它们为R系列命令,这些命令通常在UNIX系统中使用,它对安全性考虑不多,但是非常好用。NFS由Sun公司开发,它使用UDP,它用于在不同的计算机上加载UNIX文件系统,在这一点上它做得非常好。NFS为网络加重了负担,在慢速连接的网络上工作得不好,但它的功能可却是不错。随着网络规模不断扩大,原来的网络管理协议ICMP已经不能提供满意的服务了,于是在这一要求下提出了SNMP协议,它检测网络中各种设备的情况,根据这种情况对网络进行监控。X Window系统使用X Window协议,X Window协议也使用TCP服务

    四、tcpdump抓包命令

    1、tcpdump: 默认启动。普通情况下,直接启动tcpdump将监视第一个网络接口上所有流过的数据包。

    2、tcpdump -i eth1:监视指定网络接口的数据包,如果不指定网卡,默认tcpdump只会监视第一个网络接口,一般是eth0,下面的例子都没有指定网络接口。 

    3、tcpdump host sundown:监视指定主机的数据包。打印所有进入或离开sundown的数据包。

    4、tcpdump -i eth0 src host hostname:截获主机hostname发送的所有数据。

    5、tcpdump -i eth0 dst host hostname:监视所有送到主机hostname的数据包。

    6、tcpdump tcp port 23 and host 210.27.48.1:如果想要获取主机210.27.48.1接收或发出的telnet包。

    7、tcpdump udp port 123:对本机的udp 123 端口进行监视 123 为ntp的服务端口。

    以上就是关于Tcp命令相关问题的回答。希望能帮到你,如有更多相关问题,您也可以联系我们的客服进行咨询,客服也会为您讲解更多精彩的知识和内容。


    推荐阅读:

    ChatGPT替代品(itchat替代品)

    Sketchup的12款好用的渲染引擎推荐,设计师们必看

    CHATGbt的场景应用(mmtc场景应用包含)

    宁波现代景观设计咨询公司(宁波现代景观设计咨询公司有哪些)

    全案设计文案(全案设计文案模板)