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

【Linux】【实战系列】10 分钟掌握日常开发中 Linux 网络处理相关命令

文章目录

  • lsof
  • netstat
  • ping
  • nslookup
  • ssh
    • ssh-keygen
    • scp
    • sftp
  • 网络工具 curl
  • 网络工具 wget
  • 最后
  • 个人简介

  • hello,大家好,我是 Lorin,上一期和大家分享一期日常开发中常用的 Linux 文件和文本命令实战教学,这一期给大家带来常用的网络处理命令实战。

lsof

  • lsof(list open files)是一个列出当前系统打开文件的工具,日常开发中常用于查看端口占用情况。
// 显示所有打开的端口
lsof -i 

在这里插入图片描述

// 查看 8080 端口占用情况
lsof -i:8000nodejs  26993 root   10u  IPv4 37999514      0t0  TCP *:8000 (LISTEN)// 其它一些常见用法
lsof abc.txt:显示开启文件abc.txt的进程
lsof -c abc:显示abc进程现在打开的文件
lsof -c -p 1234:列出进程号为1234的进程所打开的文件
lsof -d 4:显示使用fd为4的进程

netstat

  • netstat 用于查看网络状态。日常工作中常用于观察服务器网络连接、端口占用。
命令格式:
netstat [-acCeFghilMnNoprstuvVwx][-A<网络类型>][--ip]常用参数:
常用参数:
-a或--all 显示所有连线中的Socket
-p或--programs 显示正在使用Socket的程序识别码和程序名称
-n或--numeric 直接使用IP地址,而不通过域名服务器(显示具体端口号)
-t或--tcp 显示TCP传输协议的连线状况
-u或--udp 显示UDP传输协议的连线状况// 如查看所有 TCP 网络连接
[root@iZwz97fphe0t194uzxhm8lZ ~]# netstat -anpt
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:5355            0.0.0.0:*               LISTEN      833/systemd-resolve
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      880/sshd
tcp        0      0 172.19.229.159:22       183.14.134.96:25981     ESTABLISHED 25803/sshd: root [p
tcp        0      0 172.19.229.159:55656    100.100.21.100:80       TIME_WAIT   -
tcp        0      0 172.19.229.159:55658    100.100.21.100:80       TIME_WAIT   -
tcp        0      0 172.19.229.159:55648    100.100.21.100:80       TIME_WAIT   -
tcp        0      0 172.19.229.159:60706    100.100.0.70:80         TIME_WAIT   -
tcp6       0      0 :::5355                 :::*                    LISTEN      833/systemd-resolve
tcp6       0      0 :::80                   :::*                    LISTEN      2801/docker-proxy
tcp6       0      0 :::443                  :::*                    LISTEN      2790/docker-proxy
tcp6       0      0 :::1024                 :::*                    LISTEN      3031/docker-proxy
tcp6       0      0 :::1025                 :::*                    LISTEN      3020/docker-proxy// 查看 80 端口占用的进程和进程号 可以和上一期学的 grep 命令组合使用
[root@iZwz97fphe0t194uzxhm8lZ ~]# netstat -atnp | grep 80
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      880/sshd
tcp        0      0 172.19.229.159:44072    100.100.21.100:80       TIME_WAIT   -
tcp        0      0 172.19.229.159:44070    100.100.21.100:80       TIME_WAIT   -
tcp        0      0 172.19.229.159:49126    100.100.0.70:80         TIME_WAIT   -
tcp        0      0 172.19.229.159:44078    100.100.21.100:80       TIME_WAIT   -
tcp        0      0 172.19.229.159:44076    100.100.21.100:80       TIME_WAIT   -
tcp6       0      0 :::80                   :::*                    LISTEN      2801/docker-proxy

ping

  • ping 命令用于检测与另一个主机之间的网络连接,日常开发中常用于检测服务器是否在线,但无法 ping 通不等于服务不在线,因为服务器端可以主动关闭该功能。
  • 使用 ICMP(Internet Control Message Protocol) 传输协议,发出要求回应的信息,若远端主机的网络功能没有问题,就会回应该信息。
    命令格式:ping [-dfnqrRv][-c<完成次数>][-i<间隔秒数>][-I<网络界面>][-l<前置载入>][-p<范本样式>][-s<数据包大小>][-t<存活数值>][主机名称或IP地址]常用参数:-d 使用Socket的SO_DEBUG功能-c <完成次数> 设置完成要求回应的次数-i<间隔秒数> 指定收发信息的间隔时间-R 记录路由过程-t<存活数值> 设置存活数值TTL的大小-s<数据包大小> 设置数据包的大小// 示例[root@iZwz97fphe0t194uzxhm8lZ ~]# ping -i 3 -c 3 -s 1024 -t 255 baidu.comPING baidu.com (39.156.66.10) 1024(1052) bytes of data.1032 bytes from 39.156.66.10 (39.156.66.10): icmp_seq=1 ttl=49 time=50.1 ms1032 bytes from 39.156.66.10 (39.156.66.10): icmp_seq=2 ttl=49 time=50.1 ms1032 bytes from 39.156.66.10 (39.156.66.10): icmp_seq=3 ttl=49 time=50.1 ms--- baidu.com ping statistics ---3 packets transmitted, 3 received, 0% packet loss, time 11msrtt min/avg/max/mdev = 50.116/50.119/50.123/0.182 ms// -i 3 执行周期为 3 秒// -c 3 要求会员次数 3 次// -s 1024 包大小 1024 // -t 设置TTL值为 255

nslookup

  • 是用于查询域名系统(DNS)信息的命令行工具。它可以用来查找域名的IP地址,或者反向查找IP地址对应的域名。
    命令格式:nslookup domain [dns-server]// 使用示例 使用默认域名服务器[root@iZwz97fphe0t194uzxhm8lZ ~]# nslookup baidu.comServer:         100.100.2.136Address:        100.100.2.136#53Non-authoritative answer:Name:   baidu.comAddress: 110.242.68.66Name:   baidu.comAddress: 39.156.66.10// 使用指定域名服务器解析[root@iZwz97fphe0t194uzxhm8lZ ~]# nslookup baidu.com 8.8.8.8Server:         8.8.8.8Address:        8.8.8.8#53Non-authoritative answer:Name:   baidu.comAddress: 39.156.66.10Name:   baidu.comAddress: 110.242.68.66

ssh

  • Linux SSH(Secure Shell)是一种用于远程管理和安全通信的协议和工具。它允许用户通过网络安全地远程登录到其他计算机,并执行各种操作,日常工作中常用于登录服务器。
  • SSH使用非对称加密来建立连接,并在连接建立后使用对称加密来保护通信内容。这种方法确保了数据的机密性和完整性。
    命令格式:ssh [选项] [参数]常用参数:-p:指定远程服务器上的端口-i:指定身份(私钥)文件// 常用方式# ssh 用户名@远程服务器地址ssh user1@172.24.210.101# 指定端口ssh -p 2211 root@140.206.185.170

ssh-keygen

  • 除了使用密码登录的方式,我们还可以生成秘钥文件实现免密登录。
    // ssh-keygen # 为当前用户生成 ssh 公钥 + 私钥// 如果你使用了密码,那么请确保添加了 -o 选项,它会以比默认格式更能抗暴力破解的格式保存私钥$ ssh-keygen -oGenerating public/private rsa key pair.Enter file in which to save the key (/home/schacon/.ssh/id_rsa):Created directory '/home/schacon/.ssh'.Enter passphrase (empty for no passphrase):Enter same passphrase again:Your identification has been saved in /home/schacon/.ssh/id_rsa.Your public key has been saved in /home/schacon/.ssh/id_rsa.pub.The key fingerprint is:d0:82:24:8e:d7:f1:bb:9b:33:53:96:93:49:da:9b:e3 schacon@mylaptop.local// 将当前用户的公钥复制到需要 ssh 的服务器的 ~/.ssh/authorized_keys,实现免密登录ssh-copy-id user@ip:port

scp

  • SCP(Secure Copy Protocol)是一种用于在远程系统之间安全复制文件的协议。它通过SSH(Secure Shell)协议进行加密通信,确保数据传输的安全性。SCP通常用于将文件从一个计算机复制到另一个计算机,或者从本地计算机上传到远程服务器,反之亦然。
    命令格式:scp [参数] [本地文件] [远程地址]常用参数:-r:递归复制怎么目录// 使用示例// 从本地计算机上传文件到远程服务器scp /path/to/local/file username@remote_server:/path/to/remote/directory// 从远程服务器下载文件到本地计算机scp username@remote_server:/path/to/remote/file /path/to/local/directory// 从本地计算机上传整个目录到远程服务器scp -r /path/to/local/directory username@remote_server:/path/to/remote/directory

sftp

  • SFTP(Secure File Transfer Protocol)是一种基于SSH协议的安全文件传输协议,用于在本地计算机和远程服务器之间以加密和安全的方式传输文件。与SCP不同,SFTP提供了更多的文件管理功能,允许用户在本地和远程系统之间进行更灵活的文件操作,包括上传、下载、删除、重命名文件,以及浏览远程目录等。

  • 使用示例

    // 连接到远程服务器sftp username@remote_server// 上传文件到远程服务器put /path/to/local/file /path/on/remote/server// 下载文件到本地计算机get /path/on/remote/server /path/to/local/directory// 列出远程服务器上的文件和目录ls// 或者列出特定目录ls /path/on/remote/server// 删除远程服务器上的文件rm /path/on/remote/server/filename// 重命名远程服务器上的文件rename old_filename new_filename// 退出SFTP会话exit

网络工具 curl

  • curl 是一个强大的命令行工具,用于在Unix、Linux和类Unix系统中进行数据传输。它支持多种协议,包括HTTP、HTTPS、FTP、SCP、SFTP、LDAP等,可以用来发送请求并接收来自Web服务器和其他网络服务的响应。
  • 下面我们主要介绍一些常见的用法:
    命令格式:curl [选项] [URL]常用参数:-v:选项来显示HTTP请求和响应的详细信息-i:选项来显示HTTP响应头信息-X:选项来指定HTTP请求方法-x:选项来指定代理服务器-u:选项来指定用户名和密码-H:选项来指定HTTP头部信息# 使用示例// 发送 get 请求curl https://www.example.com// 发送 post 请求// 使用-X选项来指定HTTP请求方法,通常与-d选项一起使用以发送POST数据curl -X POST -d "key1=value1&key2=value2" https://www.example.com/api// 发送HTTP请求时携带HTTP头部信息curl -H "Authorization: Bearer <token>" https://api.example.com/resource// 使用代理服务器curl -x http://proxy.example.com:8080 https://www.example.com// 保存下载文件curl -o outputfile.txt https://www.example.com/file.txt// 使用用户名和密码进行HTTP基本认证curl -u username:password https://www.example.com/secure/resource

网络工具 wget

  • wget是一个在命令行中常用的工具,用于从网络上下载文件。它支持HTTP、HTTPS、FTP等多种协议,并提供了丰富的选项,使得文件下载变得非常灵活和强大。
  • 下面介绍一些常见用法:
    命令格式:wget [选项] [URL]常用参数:-b:选项来在后台下载文件-O:选项来指定保存的文件名-c:选项来启用断点续传,如果下载中断,可以恢复下载// 使用wget下载文件,将文件保存在当前工作目录wget https://www.example.com/file.txt// 使用-O选项来指定保存的文件名wget -O myfile.txt https://www.example.com/file.txt// 后台下载wget -b https://www.example.com/largefile.zip// 限速下载速度wget --limit-rate=100k https://www.example.com/largefile.zip

最后

  • 如果文章对你有帮助,请一键三连,关注、点赞、收藏,你的支持是我创作的最大动力,谢谢大家。

个人简介

👋 你好,我是 Lorin 洛林,一位 Java 后端技术开发者!座右铭:Technology has the power to make the world a better place.

🚀 我对技术的热情是我不断学习和分享的动力。我的博客是一个关于Java生态系统、后端开发和最新技术趋势的地方。

🧠 作为一个 Java 后端技术爱好者,我不仅热衷于探索语言的新特性和技术的深度,还热衷于分享我的见解和最佳实践。我相信知识的分享和社区合作可以帮助我们共同成长。

💡 在我的博客上,你将找到关于Java核心概念、JVM 底层技术、常用框架如Spring和Mybatis 、MySQL等数据库管理、RabbitMQ、Rocketmq等消息中间件、性能优化等内容的深入文章。我也将分享一些编程技巧和解决问题的方法,以帮助你更好地掌握Java编程。

🌐 我鼓励互动和建立社区,因此请留下你的问题、建议或主题请求,让我知道你感兴趣的内容。此外,我将分享最新的互联网和技术资讯,以确保你与技术世界的最新发展保持联系。我期待与你一起在技术之路上前进,一起探讨技术世界的无限可能性。

📖 保持关注我的博客,让我们共同追求技术卓越。

相关文章:

【Linux】【实战系列】10 分钟掌握日常开发中 Linux 网络处理相关命令

文章目录 lsofnetstatpingnslookupsshssh-keygenscpsftp 网络工具 curl网络工具 wget最后个人简介 hello&#xff0c;大家好&#xff0c;我是 Lorin&#xff0c;上一期和大家分享一期日常开发中常用的 Linux 文件和文本命令实战教学&#xff0c;这一期给大家带来常用的网络处理…...

语义分割常用评价指标

在图像处理领域中&#xff0c;语义分割是很重要的一个任务。在实际项目开发中,评估模型预测效果以及各指标的含义对于优化模型极为重要。 本文将主要评价指标的计算算法进行了详细说明,并加上注释解释每个指标的含义。这对理解各指标背后的数学原理以及能否在实践中应用或许有…...

从0开始学习C++ 第一课:你的第一个C++程序

第一课&#xff1a;你的第一个C程序 当然可以。让我们从C的基础开始&#xff0c;我们的第一课将覆盖以下几个主题&#xff1a; 程序结构编写和运行你的第一个C程序基本的输入输出&#xff08;I/O&#xff09; 第一课&#xff1a;你的第一个C程序 在C中&#xff0c;所有的程…...

Dubbo-admin监控中心

监控中心 Dubbo-admin监控中心执行操作启动provider和consumer项目进行测试总体流程 Dubbo-admin监控中心 dubbo-admin下载路径 git clone https://github.com/apache/dubbo-admin.git图1-1 dubbo-admin项目文件展示 执行操作 # 启动zookeeper# 前端 cd dubbo-admin-ui npm i…...

216. 组合总和 III - 力扣(LeetCode)

题目描述 找出所有相加之和为 n 的 k 个数的组合&#xff0c;且满足下列条件&#xff1a; 只使用数字1到9每个数字 最多使用一次 返回 所有可能的有效组合的列表 。该列表不能包含相同的组合两次&#xff0c;组合可以以任何顺序返回。 输入示例 k 3, n 7输出示例 [[1,2,…...

LeetCode-题目整理【5】:O(1) 时间插入、删除和获取随机元素

RandomizedSet结构体存在切片和哈希表的原因&#xff1a; 变长数组由于可以根据下标定位到特定元素&#xff0c;因此可以在 O(1)的时间内完成获取随机元素操作&#xff0c;但是由于无法在 O(1) 的时间内判断元素是否存在&#xff0c;因此不能在 O(1) 的时间内完成插入和删除操作…...

服务器感染了.wis[[Rast@airmail.cc]].wis勒索病毒,如何确保数据文件完整恢复?

导言&#xff1a; 在当今数字化的时代&#xff0c;恶意软件攻击已经变得越来越复杂和狡猾&#xff0c;[[MyFilewaifu.club]].wis [[backupwaifu.club]].wis[[Rastairmail.cc]].wis勒索病毒是其中的一种新威胁。本文91数据恢复将深入介绍[[MyFilewaifu.club]].wis [[backupwaif…...

ContentNegotiationManagerFactoryBean 内容协商

一.什么是内容协商 简单点说&#xff0c;就是同一资源,可以有多种表现形式&#xff0c;比如xml、json等&#xff0c;具体使用哪种表现形式&#xff0c;是可以协商的。 这是RESTfull的一个重要特性&#xff0c;Spring Web MVC也支持这个功能。 1.Spring MVC REST是如何决定采用…...

html css js 开发一个猜数字游戏

以下是一个使用HTML、CSS和JS开发的简单猜数字游戏的示例&#xff1a; HTML代码&#xff1a; <!DOCTYPE html> <html> <head><title>猜数字游戏</title><link rel"stylesheet" type"text/css" href"style.css&quo…...

HDD 东山再起,单块 30TB 起步新品想要颠覆储存行业

不得不承认&#xff0c;这年头机械硬盘&#xff08;HDD&#xff09;是越来越不受待见了。 体积大&#xff0c;耗电高&#xff0c;速度慢等多年祖传特点无不脱离当前消费者所追求的轻量化&#xff0c;高性能。 个人消费市场不约而同选择全面奔向固态硬盘&#xff08;SSD&#x…...

【网络安全】-基本工具msf

secure 1、有此漏洞的目标主机2、无此漏洞的目标主机&#xff08;常用&#xff09; ps.本着兴趣爱好&#xff0c;加强电脑的安全防护能力&#xff0c;并严格遵守法律和道德规范。msf&#xff08;metasploit framework&#xff09;是一个开源的渗透测试框架&#xff0c;用于开发…...

Vue3的ref和reactive

目录 1、ref的基本使用 2、reactive的基本使用 3、ref操作dom 4、ref与reactive的异同 1、ref的基本使用 ref创建数据可以是基本类型也可以是引用类型 ref函数创建响应式数据&#xff0c;返回值是一个对象 模版中使用ref数据,省略.value&#xff0c;js代码中不能省略 获…...

Flink编程——风险欺诈检测

Flink 风险欺诈检测 文章目录 Flink 风险欺诈检测背景准备条件FraudDetectionJob.javaFraudDetector.java 代码分析执行环境创建数据源对事件分区 & 欺诈检测输出结果运行作业欺诈检测器 欺诈检测器 v1&#xff1a;状态欺诈检测器 v2&#xff1a;状态 时间完整的程序期望的…...

Day37 贪心算法 part06 738. 单调递增的数字 968. 监控二叉树

贪心算法 part06 738. 单调递增的数字 968. 监控二叉树 738. 单调递增的数字 class Solution { public:int monotoneIncreasingDigits(int n) {string strNum to_string(n);int tag strNum.size();for(int i strNum.size()-1; i>1; i--){if(strNum[i]<strNum[i-1]){…...

SpringBoot Redis入门(四)——Redis单机、哨兵、集群模式

单机模式&#xff1a;单台缓存服务器&#xff0c;开发、测试环境下使用&#xff1b;哨兵模式&#xff1a;主-从模式&#xff0c;提高缓存服务器的高可用和安全性。所有缓存的数据在每个节点上都一致。每个节点添加监听器&#xff0c;不断监听节点可用状态&#xff0c;一旦主节点…...

获取数组中的第一个、第二个、第三个......元素

常规操作可以直接使用索引&#xff08;下标&#xff09;获取&#xff1a; const arr [5,8,6,9,10] const first arr[0] //5 const second arr[1] //8 const third arr[2] //6 不使用索引&#xff0c;如何获取&#xff1a; const [first] [5,8,6,9,10] //…...

前端面试题(持续更新~~)

文章目录 一、基础1、数组常用的方法2、数组有哪几种循环方式&#xff1f;分别有什么作用&#xff1f;3、字符串常用的方法4、原型链5、闭包6、常见的继承7、cookie 、localstorage 、 sessionstrorage区别8、数组去重方法9、http 的请求方式10、数据类型的判断方法11、cookie …...

ubuntu下无法访问和ping通github的一种解决方法

近期在ubuntu下突然无法访问github了&#xff0c;ping也无法ping通&#xff0c;尝试过更换不同的网络也无济于事。后来在https://blog.csdn.net/weixin_48544978/article/details/133899687 这个文章中找到了解决办法。 运气比较好&#xff0c;只按照文章中的第一步将http://…...

C#,入门教程(28)——文件夹(目录)、文件读(Read)与写(Write)的基础知识

上一篇&#xff1a; C#&#xff0c;入门教程(27)——应用程序&#xff08;Application&#xff09;的基础知识https://blog.csdn.net/beijinghorn/article/details/125094837 C#知识比你的预期简单的多&#xff0c;但也远远超乎你的想象&#xff01; 与文件相关的知识&#xf…...

开源大数据集群部署(六)Keytab文件生成

作者&#xff1a;櫰木 Keytab文件用于在不输入密码的情况下对主体&#xff08;用户或服务&#xff09;进行身份验证。以下是创建Kerberos身份验证的步骤。 1、创建keytab文件 除了使用明文密码登录之外&#xff0c;Kerberos还可以使用keytab密码文件登陆&#xff0c;现在为te…...

K8S认证|CKS题库+答案| 11. AppArmor

目录 11. AppArmor 免费获取并激活 CKA_v1.31_模拟系统 题目 开始操作&#xff1a; 1&#xff09;、切换集群 2&#xff09;、切换节点 3&#xff09;、切换到 apparmor 的目录 4&#xff09;、执行 apparmor 策略模块 5&#xff09;、修改 pod 文件 6&#xff09;、…...

IGP(Interior Gateway Protocol,内部网关协议)

IGP&#xff08;Interior Gateway Protocol&#xff0c;内部网关协议&#xff09; 是一种用于在一个自治系统&#xff08;AS&#xff09;内部传递路由信息的路由协议&#xff0c;主要用于在一个组织或机构的内部网络中决定数据包的最佳路径。与用于自治系统之间通信的 EGP&…...

【ROS】Nav2源码之nav2_behavior_tree-行为树节点列表

1、行为树节点分类 在 Nav2(Navigation2)的行为树框架中,行为树节点插件按照功能分为 Action(动作节点)、Condition(条件节点)、Control(控制节点) 和 Decorator(装饰节点) 四类。 1.1 动作节点 Action 执行具体的机器人操作或任务,直接与硬件、传感器或外部系统…...

2021-03-15 iview一些问题

1.iview 在使用tree组件时&#xff0c;发现没有set类的方法&#xff0c;只有get&#xff0c;那么要改变tree值&#xff0c;只能遍历treeData&#xff0c;递归修改treeData的checked&#xff0c;发现无法更改&#xff0c;原因在于check模式下&#xff0c;子元素的勾选状态跟父节…...

Matlab | matlab常用命令总结

常用命令 一、 基础操作与环境二、 矩阵与数组操作(核心)三、 绘图与可视化四、 编程与控制流五、 符号计算 (Symbolic Math Toolbox)六、 文件与数据 I/O七、 常用函数类别重要提示这是一份 MATLAB 常用命令和功能的总结,涵盖了基础操作、矩阵运算、绘图、编程和文件处理等…...

在鸿蒙HarmonyOS 5中使用DevEco Studio实现录音机应用

1. 项目配置与权限设置 1.1 配置module.json5 {"module": {"requestPermissions": [{"name": "ohos.permission.MICROPHONE","reason": "录音需要麦克风权限"},{"name": "ohos.permission.WRITE…...

有限自动机到正规文法转换器v1.0

1 项目简介 这是一个功能强大的有限自动机&#xff08;Finite Automaton, FA&#xff09;到正规文法&#xff08;Regular Grammar&#xff09;转换器&#xff0c;它配备了一个直观且完整的图形用户界面&#xff0c;使用户能够轻松地进行操作和观察。该程序基于编译原理中的经典…...

七、数据库的完整性

七、数据库的完整性 主要内容 7.1 数据库的完整性概述 7.2 实体完整性 7.3 参照完整性 7.4 用户定义的完整性 7.5 触发器 7.6 SQL Server中数据库完整性的实现 7.7 小结 7.1 数据库的完整性概述 数据库完整性的含义 正确性 指数据的合法性 有效性 指数据是否属于所定…...

GO协程(Goroutine)问题总结

在使用Go语言来编写代码时&#xff0c;遇到的一些问题总结一下 [参考文档]&#xff1a;https://www.topgoer.com/%E5%B9%B6%E5%8F%91%E7%BC%96%E7%A8%8B/goroutine.html 1. main()函数默认的Goroutine 场景再现&#xff1a; 今天在看到这个教程的时候&#xff0c;在自己的电…...

【Linux系统】Linux环境变量:系统配置的隐形指挥官

。# Linux系列 文章目录 前言一、环境变量的概念二、常见的环境变量三、环境变量特点及其相关指令3.1 环境变量的全局性3.2、环境变量的生命周期 四、环境变量的组织方式五、C语言对环境变量的操作5.1 设置环境变量&#xff1a;setenv5.2 删除环境变量:unsetenv5.3 遍历所有环境…...