netstat 输出内容详解,TCP链接握手对应state

TCP三次握手,四次挥手的状态 一.TCP的三次握手 第一次握手:A发送链接请求. SYN=1, ACK=0, seq=x(序号是随机产生的,一般与时间有关),ack=0(因为ACK为0,所以这个时候ack取值没有意义). A进入 SYN_SEND 状态。 第二次握手:B确认连接. SYN=1,ACK=1,seq=y(序号是随机产生的,一般与时间有关), ack=x+1 B进入 SYN_RECEIVED 状... 阅读详情

 

 

1.列出所有 tcp与udp 端口

 

 

2下面分析每一项的含义

2.1 关于Proto,Recv-Q,Send-Q等列的具体含义

Proto:协议名(tcp协议还是udp协议)

recv-Q:网络接收队列
表示收到的数据已经在本地接收缓冲,但是还有多少没有被进程取走,recv()
如果接收队列Recv-Q一直处于阻塞状态,可能是遭受了拒绝服务 denial-of-service 攻击。

send-Q:网路发送队列
对方没有收到的数据或者说没有Ack的,还是本地缓冲区.
如果发送队列Send-Q不能很快的清零,可能是有应用向外发送数据包过快,或者是对方接收数据包不够快。

这两个值通常应该为0,如果不为0可能是有问题的。packets在两个队列里都不应该有堆积状态。可接受短暂的非0情况。

从步骤一的结果中可以看到22端口对应的链路的 send-Q中堆积了大量的数据包 ,可以判定是发送数据给目的地址的时候出现了阻塞的问题,导致了包堆积在本地缓存中,不能成功发出去。

2.2 Local Address 解释

1)Local Address 部分的0.0.0.0:22 表示监听服务器上所有ip地址的所有(0.0.0.0表示本地所有ip),比如你的服务器是有172.172.230.210和
172.172.230.11两个ip地址,那么0.0.0.0:22此时表示监听172.172.230.210,172.172.230.211,127.0.0.1三个地址的22端口

2):::22 这个也表示监听本地所有ip的22端口,跟上面的区别是这里表示的是IPv6地址,上面的0.0.0.0表示的是本地所有IPv4地址
NOTE
“:::” 这三个: 的前两个"::",是"0:0:0:0:0:0:0:0"的缩写,相当于IPv6的"0.0.0.0",就是本机的所有IPv6地址,第三个:是IP和端口的分隔符

3)127.0.0.1:631 这个表示监听本机的loopback地址的631端口(如果某个服务只监听了回环地址,那么只能在本机进行访问,无法通过tcp/ip 协议进行远程访问)

4)::1:631 这个表示监听IPv6的回环地址的631端口,::1这个表示IPv6的loopback地址

5)172.172.230.211:3306 这里我们看到我们的mysqld进程监听的是172.172.230.211的3306端口,这是因为我们在启动的时候指定了bind_address=172.172.230.211参数,如果不指定bind_address的话,mysqld默认监听:::3306(本机所有ip地址的3306端口 -IPv6)

 

2.3 Foreign Address

与本机端口通信的外部socket。显示规则与Local Address相同

2.4 State

链路状态,共有11种

state列共有12中可能的状态,前面11种是按照TCP连接建立的三次握手和TCP连接断开的四次挥手过程来描述的。

状态描述
LISTEN

首先服务端需要打开一个socket进行监听,状态为LISTEN.

/* The socket is listening for incoming connections. 侦听来自远方TCP端口的连接请求 */

SYN_SENT

客户端通过应用程序调用connect进行active open.于是客户端tcp发送一个SYN以请求建立一个连接.之后状态置为SYN_SENT

/*The socket is actively attempting to establish a connection. 在发送连接请求后等待匹配的连接请求 */

SYN_RECV

服务端应发出ACK确认客户端的 SYN,同时自己向客户端发送一个SYN. 之后状态置为SYN_RECV

/* A connection request has been received from the network. 在收到和发送一个连接请求后等待对连接请求的确认 */

ESTABLISHED

代表一个打开的连接,双方可以进行或已经在数据交互了

/* The socket has an established connection. 代表一个打开的连接,数据可以传送给用户 */

FIN_WAIT1

主动关闭(active close)端应用程序调用close,于是其TCP发出FIN请求主动关闭连接,之后进入FIN_WAIT1状态

/* The socket is closed, and the connection is shutting down. 等待远程TCP的连接中断请求,或先前的连接中断请求的确认 */

CLOSE_WAIT

被动关闭(passive close)端TCP接到FIN后,就发出ACK以回应FIN请求(它的接收也作为文件结束符传递给上层应用程序),并进入CLOSE_WAIT

/* The remote end has shut down, waiting for the socket to close. 等待从本地用户发来的连接中断请求 */

FIN_WAIT2

主动关闭端接到ACK后,就进入了 FIN-WAIT-2 .

/* Connection is closed, and the socket is waiting for a shutdown from the remote end. 从远程TCP等待连接中断请求 */

LAST_ACK

被动关闭端一段时间后,接收到文件结束符的应用程 序将调用CLOSE关闭连接。这导致它的TCP也发送一个 FIN,等待对方的ACK.就进入了LAST-ACK 

/* The remote end has shut down, and the socket is closed. Waiting for acknowledgement. 等待原来发向远程TCP的连接中断请求的确认 */

TIME_WAIT

在主动关闭端接收到FIN后,TCP 就发送ACK包,并进入TIME-WAIT状态。

/* The socket is waiting after close to handle packets still in the network.等待足够的时间以确保远程TCP接收到连接中断请求的确认 */

CLOSING

比较少见.

/* Both sockets are shut down but we still don’t have all our data sent. 等待远程TCP对连接中断的确认 */

CLOSED

被动关闭端在接受到ACK包后,就进入了closed的状态。连接结束.

/* The socket is not being used. 没有任何连接状态 */

UNKNOWN

未知的Socket状态。

/* The state of the socket is unknown. */

 


备注
SYN: (同步序列编号,Synchronize Sequence Numbers)该标志仅在三次握手建立TCP连接时有效。表示一个新的TCP连接请求。
ACK: (确认编号,Acknowledgement Number)是对TCP请求的确认标志,同时提示对端系统已经成功接收所有数据。
FIN: (结束标志,FINish)用来结束一个TCP回话.但对应端口仍处于开放状态,准备接收后续数据。

 

2.5  TCP链接和断开链接过程,两个端的状态:

建立链接:

 

 

断开链接:

 

2.5 PID/Program

PID即进程id,Program即使用该socket的应用程序

 

Local Address IP的0.0.0.0是什么意思,与127.0.0.1有何区别,IPv6的:::三个冒号又什么意思 立即下载

相关推荐

从零搭建风电场:手把手教你用WAsP+WindPRO完成风资源评估全流程

本文详细介绍了从零开始搭建风电场的全流程,重点讲解如何使用WAsP和WindPRO进行风资源评估和风场布局优化。内容包括软件配置、数据采集规范、风图谱建模实战、机组选型策略以及常见问题解决方案,帮助工程师掌握风电开发的核心技术,提升项目成功率。

year5的博客 373

netstat输出解析之0.0.0.0

注记:Local Address的0.0.0.0代表本机上可用的所有任意地址,Foreign Address的0.0.0.0代表任意外部地址。 比如0.0.0.0:135 表示本机上所有地址的135端口,这样多ip计算机就不用重复显示了,因为程序大都对本机的所有可用ip上的某个端口进行监听。区别于route命令的0.0.0.0,不同地方它的意义是不一样的。 如下,开启了ssh服务器,开放了22端口接受外部的连接。 还有一种常见特殊情况,虽然监听的外部地址是任意地址,但是绑定的本地地址是...

m0_43406494的博客 7078

BUCK电路三种工作模式全解析:CCM、BCM、DCM到底怎么选?

本文深入解析BUCK电路的CCM、DCM和BCM三种工作模式,通过对比其电流波形、效率、纹波及环路特性,提供基于计算公式的量化判断方法。文章结合电池供电、高精度模拟等具体应用场景,给出明确的模式选型策略与实战设计指南,帮助工程师根据核心需求做出最优决策。

ee345的博客 490

linux下Local Adress(本地ip:端口)和Foreign Address(外部ip:端口)

linux下查看端口时会有 Local Adress(本地ip:端口)和Foreign Address(外部ip:端口) 其中Local Adress分为0.0.0.0所有ip都可访问,127.0.0.1只有本机可访问

star_pluss的博客 8323

Windows本地部署Ollama+qwen本地大语言模型Web交互界面并实现公网访问

本文主要介绍如何在Windows系统快速部署Ollama开源大语言模型运行工具,并安装Open WebUI结合cpolar内网穿透软件,实现在公网环境也能访问你在本地内网搭建的大语言模型运行环境。近些年来随着ChatGPT的兴起,大语言模型 LLM(Large Language Model)也成为了人工智能AI领域的热门话题,很多大厂也都推出了自己的大语言模型,并或多或少的开源了自己的大语言模型,今天就来分享一个最近很火,且对于小白来说比较好上手本地部署的运行本地LLM的工具Ollama。

迪之的博客 1652

SAP-PM设备模块-PM主数据之功能位置

SAP-PM模块学习

TRUIXIANG的博客 5138

Linux的netstat查看端口是否开放见解(0.0.0.0与127.0.0.1的区别)

linux运维都需要对端口开放查看 netstat 就是对端口信息的查看 netstat -nltp p 查看端口挂的程序 复制代码 [root@iz2ze5is23zeo1ipvn65aiz ~]# netstat -nltp Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name

saj123456的博客 1217

【LAMMPS学习】八、基础知识(4.5)TIP5P水模型

​ 五点 TIP5P 刚性水模型通过添加两个通常无质量的附加位点 L 来扩展three-point TIP3P model,其中放置与氧原子相关的电荷。这些位点 L 位于距氧原子固定距离处,形成从 HOH 平面旋转 90 度的四面角。因此,这些位点在某种程度上近似于氧的孤对,从而改善了水结构,与four-point TIP4P model相比变得更加“四面体”。

荷塘阅色 1421

netstat命令Local Address解释

Local Address(127.0.0.1:9600) 代表只有第一个网卡(lo,只能处理目标地址是127.0.0.1或者Localhost的网络包),可以接收请求端口9600的数据包。Local Address定义了传入的连接请求(即tcp SYN数据包)将被哪个网卡接收(因为电脑上一般都有eth0和lo至少2个网卡)。Local Address (0.0.0.0:8600)代表任意一个网卡,都可以接收请求端口8600的数据包。即 B到端口8600、8024的网络是通的,到端口9600网络不通。

jinking01的专栏 2475

python基础之语言发展历史

博主简介:原互联网大厂tencent员工,网安巨头Venustech员工,阿里云开发社区专家博主,微信公众号java基础笔记优质创作者,csdn优质创作博主,创业者,知识共享者,欢迎关注,点赞,收藏。 目录一、前言二、发展历史1、Python是一种面向对象的解释型编程语言2、Python常被称为胶水语言3、Python由Guido开发4、Python连续多年入选编程语言TOP105、Python的发展历史三、总结 一、前言   由于Python语言的简洁性、易读性以及可扩展性,它在网络爬虫、数据分析、.

jiankang66的博客 3348

YOLOv11改进策略【模型轻量化】| 替换骨干网络 CVPR-2024 StarNet,超级精简高效的轻量化模块

本文记录的是基于StarNet的YOLOv11轻量化改进方法研究。StarNet设计简洁,没有复杂的设计和精细调整的超参数,仅是一个 4 阶段的分层架构。并且其中能够在低维空间计算的同时考虑极高维的特征这一特性,进而提高模型精度。本文在替换骨干网络中配置了原论文中的starnet_s1starnet_s2starnet_s3和starnet_s4七种模型,以满足不同的需求。

Limiiiing的博客 6001

[转]netstat 输出内容详解,TCP链接握手对应state

1.列出所有 tcp与udp 端口 2下面分析每一项的含义 2.1 关于Proto,Recv-Q,Send-Q等列的具体含义 Proto:协议名(tcp协议还是udp协议) recv-Q:网络接收队列 表示收到的数据已经在本地接收缓冲,但是还有多少没有被进程取走,recv() 如果接收队列Recv-Q一直处于阻塞状态,可能是遭受了拒绝服务 denial-of-service 攻击。 send-Q:网路发送队列 对方没有收到的数据或者说没有Ack的,还是本地缓冲区. 如果...

江州司马 344

Spring Boot 调用豆包大模型如何开启联网搜索?

场景推荐方案有权限创建 Bot + 需强集成✅ 使用bot-xxxx无 Bot 权限 / 追求通用性✅ 自行集成搜索引擎 + 普通豆包模型仅需基础对话❌ 无需考虑联网豆包大模型确实支持联网搜索,但前提是:你用的是“智能体 Bot”,且它被配置了“网页搜索”插件,并调用正确的 API 端点。希望本文能帮你少走弯路,快速构建出真正“知天下事”的智能助手!

lpfasd123的博客 1124

netstat命令中state详解

State: 表TCP连接状态 ESTABLISHED指TCP连接已建立,双方可以进行方向数据传递 CLOSE_WAIT:这种状态的含义其实是表示在等待关闭。当对方close一个SOCKET后发送FIN报文给自己,你系统毫无疑问地会回应一个ACK报文给对方,此时则进入到CLOSE_WAIT状态。接下来呢,实际上你真正需要考虑的事情是察看你是否还有数据发送给对方,如果没有的话, 那么你...

permike的专栏 3053

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

netstat详解

简介 Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。 输出信息含义 执行netstat后,其输出结果为 Active Internet connections (w/o servers) Proto Recv-Q Send...

wangxin3618的博客 9222

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

netstat查看TCP连接状态

这篇文章主要记录一下使用netstat查看tcp连接状态的实例 tcp的连接状态主要是通过三次握手和四次挥手进行状态转移,关于三次握手和四次挥手的详情可以看我的上一篇文章《总结三次握手和四次挥手》 先上一张状态转移图 其中红色线代表客户端的正常状态转换流程 黑色虚线表示服务端的正常状态转换流程 这里看到了其中有几处红色标号,这是几种异常的状态转换,在这里介绍一下(这里还是抽象主动连接一方为客户端...

weixin_44623601的博客 9052

netstat 命令的输出内容详解

*SYN:**同步序列编号(Synchronize Sequence Numbers),该标志只在三次握手建立TCP连接时有效,表示一个新的TCP连接请求。**ACK:**确认编号(Acknowledgement Number),是对TCP请求的确认标志,同时提示对端系统已成功接收所有数据。**FIN:**结束标志(Finish),用来结束一个TCP对话,但对应端口仍处于开放状态,等待接收后续数据。如果发送队列Send-Q不能很快的清零,可能是有应用向外发送数据包过快,或者是对方接收数据包不够快。

crayon 948

linux netstat 命令详解

linux netstat 命令详解

oraclechaozi的专栏 1705

TCP的三次握手

三次握手:在底层自己完成,我们用户是不参与的。我们只能看到三次握手的成功或者失败。但是不是由我们去控制三次握手。我们只需要去执行客户端的connect();代码,我们就开始发起第一次的链接(握手),第三次链接(握手)后,connect();就返回。如果中途三次握手未能正常完成,connect();也会返回失败!connect();如果返回成功,说明三次握手成功。如下图所示,左边是服务器端,右边是客户端。客户端在执行connect();代码以后,开始进行三次握手!

ljy的博客 1087

DOS命令下netstat -an输出信息的解释

引言:netstat -an这个命令大家都十分熟悉,但是我发现自己对于这个命令的输出内容却不是十分理解,我们不该止步于仅仅看一个端口号而已,这里其实还包含了其他信息。测试工具: telnet : 可以对指定的TCP端口进行测试。 netcat : 可以对指定的 TCP/UDP 端口进行测试。 样例:C:\Documents and Settings\Administrator>netstat -an

rqy1994的专栏 1万+

netstat 命令详解

简介 Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。 输出信息含义 执行netstat后,其输出结果为 Active Internet connections (w/o servers) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 2 210.34.

qq_45289298的博客 9672

【网络】主机连接 TCP 三次握手

所以服务端会先将 ACK 发过去告诉客户端我收到你的断开请求了,但请再给我一点时间,这段时间用来发送剩下的数据报文,发完之后再将 FIN 包发给客户端表示现在可以断了。TCP进行可靠传输的关键就在于维护一个序列号,三次握手的过程即是通信双方相互告知序列号起始值, 并确认对方已经收到了序列号起始值。主要原因是当服务端收到客户端的 FIN 数据包后,服务端可能还有数据没发完,不会立即close。如果只是两次握手, 至多只有客户端的起始序列号能被确认, 服务器端的序列号则得不到确认。

代码的魅力,根本走不出来 957

netstat命令使用详解

博客搬家,原地址:https://langzi989.github.io/2018/02/01/Linux netstat命令详解/ netstat命令用于显示各种网络信息,如当前机器的网络连接状态,路由表,接口状态等等。 基本信息 执行netstat命令,其结果主要包括两个部分。 Active Internet connections (servers and established),称为有...

langzi989的专栏 1291

linux命令看进程的tcp链接,使用netstat命令来检查Linux中的TCP连接状态

可以在Linux系统中使用netstat命令来查看TCP连接状态。简介TCP(Transmission Control Protocol)传输控制协议是一种标准,它定义了如何建立和维护两个系统之间的网络会话,以促进应用程序之间的数据交换,Internet协议(IP)定义了系统如何相互发送数据包。Linux中的TCP状态列表下面是可以在Linux中使用netstat或ss命令(ss命令_Linux ...

weixin_33364018的博客 3335

Linux23 --- 三次握手四次挥手、客户端编程流程代码、命令netstat、 tcp协议是个面向链接的可靠的流式服务

三次握手四次挥手、客户端编程流程代码、命令netstat、 tcp协议是个面向链接的可靠的流式服务

kyrie_sakura的博客 634
上一篇: 解决CLOSE_WAIT、TIME_WAIT等连接状态过多的问题
下一篇: zookeeper分布式锁原理
王树民
博客等级 码龄10年 912粉丝 560原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值