当前位置: 首页 > news >正文

Linux网络-netstat命令

作者介绍:简历上没有一个精通的运维工程师。希望大家多多关注我,我尽量把自己会的都分享给大家,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。

Linux服务器作为一个常用的网络服务器,主要的作用就是向客户端提供网络服务,所以我们需要熟练掌握网络相关的命令,用于探测对端网络是否畅通,用于检查本地网络进程是否正常,以及可以通过命令去远端服务器进行下载文件,或者请求对方接口。

主要从以下几个方面来介绍:

1.给Linux服务器配置IP

2.探测对方网络连通性(ping & telnet)

3.下载对方文件(wget)

4.请求对方服务器(curl)

5.检查本地服务状态(netstat)本章节

6.检查本地服务状态(ss)

7.网络小结

NETSTAT

说这个命令之前,需要先说一个问题,就是Linux作为一台网络上最常用的服务器,他如何才能通过网络向其他人提供服务服务?包括我们前面说到的2个命令wget,  curl,都是客户端命令,他们的目的都是为了去请求服务端地址,而他们的服务端,就必须通过监听端口实现服务暴露,比如常见的http对应的80,https对应的443,和ssh连接默认的22端口等。如果我们自己的Linux服务器需要对外提供服务,就需要通过监听端口来实现。而netstat 命令就可以用于查看本地监听的情况。

netstat 是一个非常强大的网络诊断工具,它可以提供丰富的网络相关信息。它的基本语法如下:

netstat [options]

下面是一些常用的 netstat 选项及其作用:

  1. 查看活动连接

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

    • -n: 以数字形式显示地址和端口

    • -t: 仅显示 TCP 协议的连接

    • -u: 仅显示 UDP 协议的连接

    • -x: 仅显示 UNIX 域套接字连接

  2. 查看监听端口

    • -l: 仅显示正在监听的连接

    • -i: 显示网络接口信息

  3. 查看进程信息

    • -p: 显示与每个连接相关的进程 ID 和进程名称

  4. 查看统计信息

    • -s: 显示各种协议的统计信息

  5. 查看路由表

    • -r: 显示内核路由表

  6. 输出格式控制

    • -e: 显示扩展信息

    • -A <family>: 仅显示指定地址族的连接

    • -o: 显示计时器信息

  7. 其他选项

    • -c: 持续刷新输出

    • -v: 显示版本信息

比如,如果您想查看系统上所有的 TCP 连接,可以使用:

netstat -antp

这将显示所有活动的 TCP 连接,包括远程地址、本地地址、状态和相关进程信息。

如果您想查看某个进程正在使用的网络连接,可以使用:

netstat -antp | grep 12345

这将只显示与进程 ID 为 12345 的进程相关的网络连接。

基础知识

在网络连接里面有一个概念叫五元组或者简化版的四元组(源 IP 地址,源端口号,目标 IP 地址,目标端口号,协议类型),一般除去协议类型就是四元组。

比如:我从linux服务器,请求一个地址123.150.76.218:80 ,那么在网络连接里面就就存在类似下面的一个连接,当然这里还有更多的信息,这里不展开。

[root@localhost ~]# netstat -lnapActive Internet connections (servers and established)Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name              tcp        0      0 192.168.179.102:50276   123.150.76.218:80       TIME_WAIT   -            
源IP:192.168.179.102源端口:50276目标IP:123.150.76.218目标端口:80协议:TCP

总结

1.netstat这个命令是我们用于查看本地网络连接情况最常用的命令之一。

2.netstat这个命令在网络连接很多的情况下,是有性能问题的,替代方案就是下一章我们会讲的ss命令。如果只是本地检查端口就算卡也还好,如果用于脚本里面检查服务情况,就可能会出现预期以外的问题。

3.在最小化安装的系统里面是没有这个命令的,需要安装net-tools这个包才会自带这个命令。

4.netstat 最常用的用法,就是使用本机查看网络连接情况。

#xxx可以是端口号,也可以进程号,也可以是进程名字netstat -lnp |grep xxx​​​​​#如果某个进程无法访问网络,可以通过这样来检查网络连接,是否已经建立网络连接。#具体细节涉及到TCP网络协议栈的问题,这里暂时不展开。netstat -lanp |grep xxx

关注微信公众号《运维小路》获取更多内容。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • C++和R穿刺针吸活检肿瘤算法模型模拟和进化动力学量化差异模型
  • 面对AI伦理挑战:共筑稳固安全的未来发展之路
  • vue项目启动报错 vue与vue-template-compiler版本不一致
  • 玄机 第一章 应急响应-linux日志分析
  • unity3d:TabView,UGUI多标签页组件,TreeView树状展开菜单
  • 【初阶数据结构篇】实现顺序结构二叉树(堆的实现方法)
  • 面试题:简单介绍一下快速失败和安全失败。简单介绍一下快速失败和安全失败和集合类的关联。
  • 模糊逻辑——模糊模型预测
  • MSPM0G3507学习笔记1:开发环境_引脚认识与点灯
  • 国内NAT服务器docker方式搭建rustdesk服务
  • Bat windows 的脚本文件
  • Postman中API测试的艺术:测试用例复用的高级技巧
  • OSPF动态路由协议实验
  • 【强化学习的数学原理】课程笔记--5(值函数近似,策略梯度方法)
  • Qt实现输出日志到指定文件
  • [原]深入对比数据科学工具箱:Python和R 非结构化数据的结构化
  • 【翻译】babel对TC39装饰器草案的实现
  • 78. Subsets
  • cookie和session
  • C学习-枚举(九)
  • HTTP传输编码增加了传输量,只为解决这一个问题 | 实用 HTTP
  • Java读取Properties文件的六种方法
  • Java小白进阶笔记(3)-初级面向对象
  • magento2项目上线注意事项
  • NSTimer学习笔记
  • select2 取值 遍历 设置默认值
  • Spring Cloud Alibaba迁移指南(一):一行代码从 Hystrix 迁移到 Sentinel
  • 笨办法学C 练习34:动态数组
  • 第三十一到第三十三天:我是精明的小卖家(一)
  • 高性能JavaScript阅读简记(三)
  • 湖南卫视:中国白领因网络偷菜成当代最寂寞的人?
  • 记录:CentOS7.2配置LNMP环境记录
  • 老板让我十分钟上手nx-admin
  • 力扣(LeetCode)56
  • 浏览器缓存机制分析
  • 如何使用Mybatis第三方插件--PageHelper实现分页操作
  • 使用Tinker来调试Laravel应用程序的数据以及使用Tinker一些总结
  • 思考 CSS 架构
  • 通过几道题目学习二叉搜索树
  • 微信如何实现自动跳转到用其他浏览器打开指定页面下载APP
  • 微信小程序--------语音识别(前端自己也能玩)
  • 我的zsh配置, 2019最新方案
  • 小李飞刀:SQL题目刷起来!
  • 走向全栈之MongoDB的使用
  • elasticsearch-head插件安装
  • PostgreSQL 快速给指定表每个字段创建索引 - 1
  • ​中南建设2022年半年报“韧”字当头,经营性现金流持续为正​
  • # 数论-逆元
  • #HarmonyOS:软件安装window和mac预览Hello World
  • #Linux(make工具和makefile文件以及makefile语法)
  • $redis-setphp_redis Set命令,php操作Redis Set函数介绍
  • (10)Linux冯诺依曼结构操作系统的再次理解
  • (2)STM32单片机上位机
  • (3)医疗图像处理:MRI磁共振成像-快速采集--(杨正汉)
  • (Oracle)SQL优化基础(三):看懂执行计划顺序