【Linux篇】网络请求和下载与端口

目录

[1. 网络请求和下载](#1. 网络请求和下载)

[1.1 ping命令](#1.1 ping命令)

[1.2 wget命令](#1.2 wget命令)

[1.3 curl命令](#1.3 curl命令)

[2. 端口](#2. 端口)

[2.1 查看端口占用](#2.1 查看端口占用)

[使用nmap命令,安装nmap:yum -y install nmap](#使用nmap命令,安装nmap:yum -y install nmap)

可以通过netstat命令,查看指定端口的占用情况。

[3. 进程管理](#3. 进程管理)

[3.1 进程](#3.1 进程)

[3.2 查看进程](#3.2 查看进程)

[3.3 查看指定进程](#3.3 查看指定进程)

[3.4 关闭进程](#3.4 关闭进程)


1. 网络请求和下载

1.1 ping命令

可以通过ping命令,检查指定的网络服务器是否是可联通状态。

语法:ping [-c num] ip或主机名

  • 选项:-c,检查的次数,不使用-c选项,将无限次数持续检查。
  • 参数:ip或主机名,被检查的服务器的ip地址或主机名地址。

示例:检查百度网是否连通。

[root@hexuan ~]# ping www.baidu.com
PING www.a.shifen.com (183.2.172.42) 56(84) bytes of data.
64 bytes from 183.2.172.42 (183.2.172.42): icmp_seq=1 ttl=128 time=32.6 ms
64 bytes from 183.2.172.42 (183.2.172.42): icmp_seq=2 ttl=128 time=33.5 ms
64 bytes from 183.2.172.42 (183.2.172.42): icmp_seq=3 ttl=128 time=33.5 ms
64 bytes from 183.2.172.42 (183.2.172.42): icmp_seq=4 ttl=128 time=32.8 ms
64 bytes from 183.2.172.42 (183.2.172.42): icmp_seq=5 ttl=128 time=32.8 ms
^C
--- www.a.shifen.com ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4028ms
rtt min/avg/max/mdev = 32.624/33.112/33.598/0.459 ms

1.2 wget命令

wget是非交互式的文件下载器,可以在命令行内下载网络文件。

语法:wget [-b] url

  • 选项:-b可选,后台下载,会将日志写入到当前工作目录的wget-log文件。
  • 参数:url,下载链接。

1.3 curl命令

curl命令可以发送http网络请求,可用于:下载文件,获取信息。

语法:curl [-O] url

  • 选项:-O,用于下载文件,当url是下载链接时,可以使用此选项保存文件。
  • 参数:url,要发送请求的网络请求。

2. 端口

端口,是设备与外界通讯交流的出入口。端口可以分为:物理端口和虚拟端口两类。

  • 物理端口:又可称之为接口,是可见的端口,如USB接口。
  • 虚拟端口:是指计算机内部的端口,是不可见的,是用来操作系统和外部进行交互使用的。

物理端口我们日常生活中经常见到,那么虚拟端口又有什么用呢?

计算机程序之间的通讯,通过IP只能锁定计算机,但是无法锁定具体的程序。

通过端口可以锁定计算机具体的程序,确保程序之间进行沟通。

IP地址相当于小区地址,在小区内可以有很多住户(程序)而门牌号(端口)就是各个住户(程序)的联系地址。

Linux系统是一个超大号小区,可以支持65535个端口,这6万多个端口分为3类进行使用:

  • 公认端口:1~1023,通常用于一些系统内置或知名程序的的预留使用,如SSH服务的22端口,HTTPS服务的443端口。非特殊需要,不要占用这个范围的端口。
  • 注册端口:1024~49151,通常可以随意使用,用于松散的绑定一些程序和服务。
  • 动态端口:49152~65535,通常不会固定绑定程序,而是当程序对外进行网络链接时,用于临时使用。

如图,计算机A的微信连接计算机B的微信,A使用的50001即动态端口,临时找一个端口作为出口。计算机B的微信使用端口5678,即注册端口,长期绑定此端口等待别人连接。

2.1 查看端口占用

可以通过Linux命令去查看端口的占用情况。

使用nmap命令,安装nmap:yum -y install nmap

语法:nmap 被查看的IP地址

[root@hexuan ~]# nmap 127.0.0.1

Starting Nmap 6.40 ( http://nmap.org ) at 2024-08-26 22:50 CST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.0000080s latency).
Not shown: 996 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
111/tcp  open  rpcbind
631/tcp  open  ipp
3306/tcp open  mysql

Nmap done: 1 IP address (1 host up) scanned in 2.04 seconds

可以看到,本机上有4个端口现在被程序占用了。

可以通过netstat命令,查看指定端口的占用情况。

语法:netstat -anp|grep 端口号,安装netstat:yum -y install net-tools

3. 进程管理

3.1 进程

程序运行在操作系统中,是被操作系统所管理的。

为管理运行的程序,每一个程序在运行的时候,便被操作系统注册为系统中的一个进程。

并会为每个进程都分配一个独有的进程ID(进程号)。

3.2 查看进程

可以通过ps命令查看Linux系统中的进程信息。

语法:ps [-e -f]

选项:-e,显示全部的进程

选项:-f,以完全格式化的形式展示出信息。

一般来说,固定用法就是:ps -ef列出全部的进程的全部信息。

从左到右分别是:

  • UID:进程所属的用户ID。
  • PID:进程的进程号ID。
  • PPID:进程的父ID(启动此进程的其他进程)
  • C:此进程的CPU占有率。
  • STIME:进程的启动时间。
  • TTY:启动此进程的终端序号,如显示?,表示非终端启动。
  • TIME:进程占用CPU的时间。

3.3 查看指定进程

  • 在XShell中,执行命令tail,可以看到,此命令一直阻塞在那里。
  • 在XSell中,复制一个标签页,执行ps -ef找到tail这个程序的进程信息。
  • 问题是:列出的信息太多,无法准确找到我们想要知道的进程信息。

我们可以使用管道符配合grep过滤到我们不想看到的进程。

ps -ef | grep 命令(此处使用tail)

  • 过滤不仅仅过滤名称,进程号,用户ID等,都可以被grep过滤。
  • 如ps -ef|grep 30001,过滤带30001关键字的进程信息。

3.4 关闭进程

在win系统中,可以通过任务管理器选择进程后,点击结束进程从而关闭。(Shift+Ctrl+Esc启动任务管理器)。

同样,在Linux系统中可以通过kill关闭进程。

语法:kill [-9] 进程ID

选项:-9,表示强制关闭进程。不使用此选项会向进程发送信号要求其关闭,但是否关闭还看进程自身的处理机制。

相关推荐
hgdlip25 分钟前
一台电脑对应一个IP地址吗?‌探讨两台电脑共用IP的可能性
服务器·网络协议·tcp/ip·电脑
何老生3 小时前
Linux之MySQL主从复制
linux·运维·mysql
ggdpzhk3 小时前
图片详解,最简单易懂!!!Ubuntu增强功能
linux·ubuntu
alsknv3 小时前
IP地址是怎么实现HTTPS访问的?
网络·网络协议·tcp/ip·安全·web安全·http·https
GDAL3 小时前
Puppeteer-Cluster:并行处理网页操作的新利器
运维·服务器·nodehtmltoimage
limengshi1383923 小时前
通信工程学习:什么是GFP通用成帧规范
服务器·网络·网络协议·学习·信息与通信
Aoharu3 小时前
【计算机网络】UDP & TCP介绍
网络·tcp/ip·udp
sone121383 小时前
计算机网络(第8版)第三章 数据链路层(3.4)
服务器·网络·计算机网络
神奇椰子3 小时前
Ubuntu 常用指令和作用解析
linux·运维·ubuntu·centos·云计算·代码规范·浪浪云
望获linux3 小时前
Linux网络协议栈的实现
linux·服务器·arm开发·网络协议·操作系统·嵌入式操作系统