【小菜鸟之---Linux网络配置】

时间:2024-05-05 08:47:08

文章目录

  • 1【子网和网关】
  • 2【网络连接模式】
  • 3【ifconfig-查看网络接口信息】
    • 3.1 查询网络接口信息
    • 3.2 ifconfig——设置网络接口参数
      • 【**设置网络参数的方式**】
      • 【**临时设置**】
      • **【永久设置】**
  • 4【hostname-主机信息】
    • 4.1 查看主机名
    • 4.2 主机名修改
    • 4.3 查看本机ip
  • 5【route-路由表信息】
    • 5.1【route-路由记录查看】
    • 5.2【route-路由记录设置】
  • 6【netstat-查看网络连接】
  • 7【ss-socket统计信息】
  • 8【nmcli】
  • 9【ping-网络链接测试】
  • 10【traceroute-跟踪数据包】
  • 11 【nslookup-域名解析】
  • 12【arp-地址解析命令】
  • 13【curl- 测试】
  • 14【远程连接】
  • 15【主机映射文件】

1【子网和网关】

子网IP(Subnet IP)和网关IP(Gateway IP)是网络配置中的两个重要概念。


1. 子网IP:子网IP是指在一个局域网内部,可以被分配给主机的IP地址范围。例如,如果一个局域网的子网掩码是255.255.255.0,那么这个局域网内部可以有256个IP地址(从0到255),其中第一个IP地址(0)通常被用来表示整个网络,最后一个IP地址(255)通常被用来进行广播,所以实际上可以被分配给主机的IP地址只有254个(从1到254)。

2. 网关IP:网关IP是指在一个局域网中,用来连接其他网络(例如互联网)的设备的IP地址。其他设备如果要访问局域网之外的网络,就需要通过这个网关。在大多数情况下,网关设备就是路由器,所以网关IP通常就是路由器的IP地址。

​	在配置网络时,我们需要为每个主机分配一个子网内的IP地址,并设置正确的网关IP,这样主机才能正确地访问内部网络和外部网络。

2【网络连接模式】

1.桥接模式
	虚拟机直接连接外部物理网络,主机起到了网桥的作用。这种模式下,虚拟机可以访问到外部网络,外部网络也可以使用虚拟机。
2.NAT模式
	虚拟机和主机构建一个专用网络,并通过虚拟网络地址转换设备(NAT)对IP进行转换.虚拟机通过共享主机ip可以访问外部网络,而外部网络无法访问虚拟机。
3.仅主机模式
	虚拟机和主机共享一个专用网路,和外部网络无法通信。

3【ifconfig-查看网络接口信息】

3.1 查询网络接口信息

1. 查询所有网络接口信息 参数-a(ifconfig -a显示所有活动及非活动的连接)
[root@iau ~]# ifconfig
ens160: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.58.129  netmask 255.255.255.0  broadcast 192.168.58.255
        inet6 fe80::20c:29ff:fe91:8277  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:91:82:77  txqueuelen 1000  (Ethernet)
        RX packets 80  bytes 10762 (10.5 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 116  bytes 13190 (12.8 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 345  bytes 28844 (28.1 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 345  bytes 28844 (28.1 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        

ens160:第一块以太网卡的名称。“ens160"中的"en"是”"EtherNet”"的缩写,表示网卡类型为以太网,"s"表示热插拔插槽上的设备(hot-plugslot.·数字“160”表示插槽编号。lor“回环"网络接口,“1o"是"1oopback"的缩写,它不代表真正的网络接口,而是一个虚拟的网络接口,其IP地址默认是“127.0.0.1”。回环地址通常仅用于对本机的网络测试。

2.查看指定网络接口配置
[root@iau ~]# ifconfig ens160
ens160: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.58.129  netmask 255.255.255.0  broadcast 192.168.58.255
        inet6 fe80::20c:29ff:fe91:8277  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:91:82:77  txqueuelen 1000  (Ethernet)
        RX packets 18553  bytes 25228645 (24.0 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 8033  bytes 443666 (433.2 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

(1)第一行:以太网卡的名字
(2)第二行:网卡的IP地址、子网掩码、广播地址
(3)第三行:IP v6地址
(4)第四行:Ethernet(以太网)表示连接类型:ether:表示为网卡的MAC地址
(5)第五行:接受数据包个数、大小统计信息
(6)第六行:异常接受包的个数、如丢包量、错误等
(7)第七行:发送数据包个数、大小统计信息
(8)第八行:发送包的个数、如丢包量、错误等

3.2 ifconfig——设置网络接口参数

设置网络参数的方式

1、临时配置—使用命令调整网络参数

​ 简单、快速,可直接修改运行中的网络参数,一般只适合在调试网络的过程中使用,系统重启以后,所做的修改将会失效。

2、固定设置:通过配置文件修改网络参数

​ 修改各项网络参数的配置文件,适合对服务器设置固定参数时使用,需要重载网络服务或者重启以后才会生效。

临时设置

  1. 设置ip地址,子网掩码

    #ifconfig 网络接口 ip地址 【netmask 子网掩码】 or ifconfig 网络接口 ip地址  【/子网掩码长度】
    
    ifconfig ens160 192.168.58.129 netmask 255.255.255.0
    ifconfig ens160 192.168.58.129/24
    
    
  2. 开启关闭网卡

    这两个命令在较旧的Linux系统中仍然有效,但在一些新的Linux发行版中可能已经被弃用。
    ifconfig ens160 up
    ifconfig ens160 down
    #新命令开关网络接口
    #开启
    ifup ens160
    #关闭
    ifdown ens160
    
    
  3. 设置虚拟网络接口

    #ifconfig 网络接口:序号 ip地址
    sudo ifconfig eth0:0 192.168.1.100 netmask 255.255.255.0 up
    #这个命令将创建一个名为eth0:0的虚拟网络接口,并将其配置为具有IP地址192.168.1.100和子网掩码255.255.255.0。通过将"eth0:0"替换为所需的接口名称和配置信息,可以创建不同的虚拟网络接口。
    

【永久设置】

  1. 进入配置文件目录进行编辑
cd /etc/NetworkManager/system-connections
vim  ens160.nmconnection
  1. 修改(网卡配置文文件)
Tips: 主要是[ipv4]编辑
	1.method设置为manual表示手动。
	2.address1等号后面第一个就是你的静态ip,可以使用原来分配的,斜杆后的24表示掩码255.255.255.0。后面的ip表示网关,前3位与静态ip一样,最后一位最好取2,取1的时候可能出现ping不通外网。
	3.dns可以用114.114.114.144或者8.8.8.8。如果有多个,用分号连接。
[root@CentOS9-1 /]# cd /etc/NetworkManager/system-connections
[root@CentOS9-1 system-connections]# ls
ens160.nmconnection
[root@CentOS9-1 system-connections]# cat ens160.nmconnection 

[connection]
id=ens160
uuid=8be26373-3a5f-338f-973a-6e08307d77ff
type=ethernet
autoconnect-priority=-999
interface-name=ens160
timestamp=1704548551

[ethernet]

[ipv4]
method=manual
address=192.168.58.129/24,192.168.58.2
dns1=192.168.58.2 

[ipv6]
addr-gen-mode=eui64
method=auto

[proxy]  

4【hostname-主机信息】

4.1 查看主机名

[root@iau ~]# hostname
iau.com

4.2 主机名修改

  1. 临时修改

    [root@iau ~]#hostname  [name]
    
  2. 永久修改

    #1.命令行
    [root@iau ~]#hostnamectl set-hostname  [name]
    
    #2.配置文件 
    [root@iau ~]#vim /etc/hostname
    

4.3 查看本机ip

[root@iau ~]# hostname -i
::1 127.0.0.1
[root@iau ~]# 

5【route-路由表信息】

5.1【route-路由记录查看】

route:查看或设置主机中路由表信息
route -n:以数字形式显示路由信息
[root@CentOS9-1 ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.58.2    0.0.0.0         UG    100    0        0 ens160
192.168.58.0    0.0.0.0         255.255.255.0   U     100    0        0 ens160

路由表主要构成解析:
Destination: 目标网络ID,表示可以到达的目标网络ID, 0.0.0.0/0 表示所有未知网络,又称为默认路由,优先级最低
**Genmask:**目标网络对应的netmask
Iface: 到达对应网络,应该从当前主机哪个网卡发送出来
**Gateway: **到达非直连的网络,将数据发送到临近(下一个)路由器的临近本主机的接口的IP地址,如果是直连网络,gateway是0.0.0.0
**Metric: **开销cost,值越小,路由记录的优先级最高

5.2【route-路由记录设置】

​ route 命令不仅可以用来查看路由表信息,还可以用来添加、删除静态的路由条路,其中也包括设置默认网关地址。默认网关记录是一条特殊的静态路由条目。添加到指定网段的路由记录。默认网关(路由)的IP地址应与本机其中一个接口的IP地址在同一个网段内。

​ 默认网关:默认网关(Default Gateway)是指在计算机网络中,当一个设备需要发送数据到不在本地子网内的目标地址时,将数据包发送到的下一跳路由器或者网络设备。默认网关通常是本地子网中的路由器的IP地址。

# 1.添加指定网段的路由记录,结合“net”指定目标网段的地址,结合“gw”指定下一跳路由器的IP地址(gatway )
    route add  -net 网段地址  gw  iP地址
    
##示例:##添加静态路由,本机访问另一个网段192.168.158.0/24的数据都发给网关192.168.58.129
[root@iau ~]# route add -net 192.168.58.0/24 gw 192.168.58.129       
[root@iau ~]# route  -n      ##确认已添加成功
root@iau /]# route -n
Kernel IP routing table
Destination     Gateway              Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.58.2(网关)    0.0.0.0         UG    100    0        0 ens160
192.168.58.0    0.0.0.0              255.255.255.0    U     100    0        0 ens160
192.168.58.0    192.168.58.129  255.255.255.0         UG    0      0        0 ens160
    
# 2.删除指定网段的路由记录 
    route  del  -net  网段地址
    
[root@iau ~]# route del -net 192.168.58.0/24 gw 192.168.58.129     

# 3.向路由表中添加默认网关记录
    route  add  default  gw IP地址
    
[root@iau ~]# route add default  gw 192.168.58.9  
[root@iau ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.58.9    0.0.0.0         UG    0      0        0 ens160
0.0.0.0         192.168.58.2    0.0.0.0         UG    100    0        0 ens160

# 4.删除路由表中默认的网关记录
    route  del  default  gw IP地址
    
[root@iau ~]# route del default  gw 192.168.58.9 

6【netstat-查看网络连接】

查看当前操作系统的网络连接状态、路由表、接口统计等信息,它是了解网络状态及排除网络服务故障的有效工具。

#常用参数:
-n:以数字的形式显示相关的主机地址、端口等信息
-a:显示主机中所有活动的网络连接信息(包括监听、非监听状态的服务端口)
-p:显示与网络连接相关联的进程号、进程名称信息(该选项需要root权限)
-t:查看TCP (Transmission Control Protocol,传输控制协议)相关的信息
-r:显示路由表信息.
-l:显示处于监听Listenin状态的网络连接及端口信息
-u:显示 UDP (User Datagram Protocol,用户数据报协议〉协议相关的信息

[root@iau ~]#  netstat -lnat | grep 80
tcp        0      0 127.0.0.1:10050         127.0.0.1:40680         TIME_WAIT  
tcp        0      0 127.0.0.1:10050         127.0.0.1:44480         TIME_WAIT  
tcp6       0      0 :::80                   :::*                    LISTEN   

7【ss-socket统计信息】

​ ss 命令:也可以查看网络连接情况,主要用于获取 socket统计信息,它可以显示和 netstat命令类似的输出内容。但ss 的优势在于它能够显示更多更详细的有关TCP和连接状态的信息,而且比 netstat更快速更高效。

​ 通过ss命令,你可以快速查看系统上的套接字信息,包括连接状态、本地地址、远程地址、端口号等。这对于诊断网络问题、监控网络连接等任务非常有用。

​ 当服务器的socket连接数量变得非常大时,无论是使用netstat命令还是直接cat /proc/net/tcp,执行速度都会很慢。ss快的秘诀在于,它利用到了TCP协议栈中t.cp_diag。tcp_diag是一个用于分析统计的模块,可以获得Linux内核中第一手的信息,这就确保了ss的快捷高效ss命令是Linux centos 7中iproute软件包的一部分,默认已经安装。

#常见选项:
-h:help 通过该选项获取更多的使用帮助 
-v:version 显示软件的版本号 
-t:tcp 显示TCP协议的sockets 
-u:udp 显示UDP协议的sockets 
-n:numeric 不解析服务的名称,如“22”端口不会显示成“ssh” 
-l:listening 只显示处于监听状态的端口 
-p:processes 显示监听端口的进程 
-a:all 对TCP协议来说,既包含监听的端口,也包含建立的连接 
-r:resolve 把ip解释为域名,把端口号解释为协议名称 
ss:只有在访问时才能查看到端口 

8【nmcli】

**nmcli **是 NetworkManager 的命令行工具。

nm 代表 NetworkManager,cli 代表 Command-Line 命令行。

使用 nmcli 时,NetworkManager 必须保持开启。

NetworkManager

使用 nmcli 时,NetworkManager 必须保持开启。

NetworkManager 的相关命令:

#查看运行状态:
systemctl status NetworkManager
#启动:
systemctl start NetworkManager
#重启:
systemctl restart NetworkManager
#关闭:
systemctl stop NetworkManager
#查看是否开机启动:
systemctl is-enabled NetworkManager
#开机启动:
systemctl enable NetworkManager
#禁止开机启动:
systemctl disable NetworkManager
nmcli device show #关于系统上网络设备的信息
nmcli n           #查看networkmanager启动与否
nmcli c reload    #重新加载配置文件,c是connection的缩写,connect,co之类的替代都可以
nmcli c up ens160 #启动你设置的网卡ens160
nmcli d           #查看网卡状态,也可以用ifconfig

存在的问题:
    如果出现:未知的连接 “ens160”,大概率是配置文件存在语法和拼写错误
    网卡能启动,但主机连接不上虚拟机,大概率是网关设置错误,比如最后一位设置成1.
    配置前自动ip能访问,静态ip不能访问,只有配置文件存在问题的可能性,不需要去设置防火墙之类的。

9【ping-网络链接测试】

ping [选项] 目标主机

-i 指定间隔时间
-c 指定ping次数
-s 指定数据包大小
可能会发生以下情况:
    “Destination Host Unreacheble”表示目的主机不可达,可能目标地址不存在或者目的主机已关闭.
    “Netwokr is unreacheable”表示没有可用的路由记录(如默认网关),无法到达目标主机所在网络.
     也有可能因为网络中存在影响通信过程稳定的因素(如网卡故障、病毒或网络攻击)时,会看到“Request timeout”的反馈结果,表示与目的主机连接超时(数据包响应缓慢或丢失).
     也还有可能是目标主机防火墙的限制导致连接超时反馈.
扩展:
    系统打开了一个服务,会自动分配一个端口号
    这个端口号如果是众所周知 http 80;  ssh  20;   ftp  20  21;  https   443等,会占用固定的端口号
    如果不是众所周知的,就会随机生成一个端口号.

10【traceroute-跟踪数据包】

​ 测试从当前主机到目的主机之间经过了哪些网络节点,并显示了各中间节点的连接状态(响应时间)对于无法显示的节点,连接状态将显示“*”,默认发送数据包大小事40字节,默认使用ICMP协议。
例:从本主机到百度之间,需要跨越一个路由器192.168.58.2
​ -p 使用UDP端口测试
​ -q 3 指定测试时候发送的数据包个数
​ -n 以IP的方式进行连接测试,避开DNS解析

​ traceroute命令能比ping命令更加准确的定位网络连接的故障点(中断点),执行命令也会比ping稍慢一点。
​ 在网络测试与排错过程中,通常会先试用ping命令测试与目的主机的网络连接,如果发现有故障,再来使用traceroute命令跟踪查看故障在哪个中间节点(按Ctrl+C终止)。

# traceroute 目标主机地址
[root@iau ~]# traceroute qq.com
traceroute to qq.com (112.60.14.252), 30 hops max, 60 byte packets
 1  _gateway (192.168.58.2)  2.462 ms  2.379 ms  1.268 ms
 2  * * *
 3  * * *
 4  * * *

11 【nslookup-域名解析】

  • 当域名解析出现异常的时候,将无法再使用域名的形式来访问网络中的Web站点、电子邮件系统等服务
  • nslookup是专门用来测试域名解析的专用工具,使用时只要指定要解析的目标域名作为参数即可
# nslookup 目标主机地址 [DNS服务器地址]

[root@CentOS9-1 ~]# nslookup www.baidu.com

Server:		192.168.58.2  #所使用的的DNS服务器
Address:	192.168.58.2  #53 ##DNS的服务器IP地址和端口号

Non-authoritative answer:  ##以下为DNS解析的反馈结果
www.baidu.com	canonical name = www.a.shifen.com.
Name:	www.a.shifen.com
Address: 36.155.132.76
Name:	www.a.shifen.com
Address: 36.155.132.3
Name:	www.a.shifen.com
Address: 2409:8c20:6:1d55:0:ff:b09c:7d77
Name:	www.a.shifen.com
Address: 2409:8c20:6:1135:0:ff:b027:210c

能够成功反馈要查询域名的IP地址,则表示域名解析没有问题,否则需要根据实际反馈情况来判断故障原因.

12【arp-地址解析命令】

ARP(Address Resolution Protocol)是一种用于在网络中将IP地址解析为MAC地址的协议。ARP命令是用于查看和管理ARP缓存的命令。

在命令行界面中,可以使用arp命令执行以下操作:

    arp -a 显示当前计算机的ARP缓存表,包含了已解析的IP地址和对应的MAC地址。

    arp -d <IP地址>:删除指定IP地址的ARP缓存项。

    arp -s <IP地址> <MAC地址>:手动添加一个ARP缓存项,将指定的IP地址和MAC地址绑定。

    arp -n:在某些操作系统中,显示ARP缓存表时,可以使用此命令来显示IP地址而非主机名。

	ARP命令在网络故障排除和管理中非常有用。通过查看ARP缓存表,可以了解到目标设备的MAC地址,以及与之通信的网络设备之间的关联关系。如果出现网络连接问题,可以使用ARP命令来检查ARP缓存,清除无效的缓存项,或者手动添加正确的缓存项。
#示例
[root@iau ~]# arp -a
? (192.168.58.1) at 00:50:56:c0:00:08 [ether] on ens160
? (192.168.58.9) at <incomplete> on ens160
? (192.168.58.130) at <incomplete> on ens160
_gateway (192.168.58.2) at 00:50:56:fa:98:d0 [ether] on ens160


    192.168.58.1的MAC地址为00:50:56:c0:00:08,这表明系统知道如何到达192.168.58.1,并且已经解析了其MAC地址。
    192.168.58.9的MAC地址是<incomplete>,这表示系统尚未获取到192.168.58.9的MAC地址,可能是因为尚未与该主机通信。
    192.168.58.130的MAC地址也是<incomplete>,表示系统尚未获取到192.168.58.130的MAC地址。
    _gateway(192.168.58.2)的MAC地址是00:50:56:fa:98:d0,这是默认网关的MAC地址,系统知道如何到达默认网关。

对于<incomplete>的条目,通常是因为系统尚未与该IP地址的主机进行通信,因此尚未获取到MAC地址。当系统与该主机进行通信时,ARP缓存会更新并显示正确的MAC地址。

13【curl- 测试】

一、curl 简介

cURL:全称 client URL,客户端 URL 工具。
cURL 是一种常用的命令行工具,主要用来请求 Web 服务器,也可以用来下载文件。
一般情况下,Linux/Windows/Mac 系统都默认安装了 cURL 指令,所以我们可以直接使用。

常见选项

-A/--user-agent <string>             设置用户代理发送给服务器
-b/--cookie <name=string/file>    	 cookie字符串或文件读取位置
-c/--cookie-jar <file>               操作结束后把cookie写入到这个文件中
-C/--continue-at <offset>            断点续转
-D/--dump-header <file>              把header信息写入到该文件中
-e/--referer                         来源网址
-f/--fail                            连接失败时不显示http错误
-o/--output                          把输出写到该文件中
-O/--remote-name                     把输出写到该文件中,保留远程文件的文件名
-r/--range <range>                   检索来自HTTP/1.1或FTP服务器字节范围
-s/--silent                          静音模式。不输出任何东西
-T/--upload-file <file>              上传文件
-u/--user <user[:password]>          设置服务器的用户和密码
-w/--write-out [format]              什么输出完成后
-x/--proxy <host[:port]>             在给定的端口上使用HTTP代理
-#/--progress-bar                    进度条显示当前的传送状态

二、使用指南

1️⃣. 发送各种方式的请求

-X 参数指定 HTTP 请求的方法。

发送 GET 请求(不携带数据)
curl www.example.com
    
伪造referer,让服务器其以为你是从www.linux.com点击某个链接过来的
curl -e "www.linux.com" http://mail.linux.com

发送 GET 请求(携带数据,借助 -G-dcurl -G -d 'q=kitties' -d 'count=20'  www.example.com



​    发送 POST 请求(不携带数据)
​    curl -X POST www.example.com
​      
​    发送 POST 请求(携带数据:借助 -d 参数)
​    curl -X POST -d '{"user":"123","pass":"456"}' www.example.com 
​        

  另外,使用 -d 参数以后,HTTP 请求会自动加上标头 Content-Type : application/x-www-form-urlencoded,并且会自动将请求转为 POST 方法,因此可以省略-X POST。
curl -d '{"user":"123","pass":"456"}' www.example.com 


​    
​    发送 PUT 请求
​    curl -X PUT www.example.com


​    
​    发送 DELETE 请求
​    curl -X DELETE www.example.com


2️⃣. 下载文件

-O 参数将服务器回应保存成文件,并将 URL 的最后部分当作文件名。

一般下载(默认路径 + 文件名):命令行处于哪一个目录,该指令就会将文件保存在哪。

curl -O www.example.com/123


​    
​    进阶下载(指定下载路径 + 文件名):借助小写的-o参数,这里注意小写的 -o 要在前面。
​    
​    curl -o ./download/myIndex.html -O www.example.com


​    
​    断点续传( -C - 标识续传)
​    
​    curl -C - -o ./download/myIndex.html -O www.example.com


3️⃣. 上传文件

-F 参数用来向服务器上传二进制文件。

一般上传:该命令会给 HTTP 请求加上标头 Content-Type: multipart/form-data ,然后将文件上传。

curl -F 'file=@old.png' baidu.com


​    
​    进阶上传:指定上传类型 + 重命名上传文件
​    
​    curl -F 'file=@old.png;type=image/png;filename=new.png' baidu.com

4️⃣. Header 信息

-H 参数会在请求当中添加 Header 参数。

-I 参数会打印服务器返回的 HEAD 信息。

单个请求头

curl -H 'Accept-Language: en-US' www.example.com


​    
​    多个请求头
​    
​    curl -H 'Accept-Language: zh-CN' -H 'accept: text/html' www.example.com


​    
​    设置 Referer 标头(用来规避一些网站的防盗链设置)
​    
​    curl -H 'Referer: baidu.com' www.example.com


​    
​    打印服务器返回的 HEAD 信息
​    
​    curl -I https://www.example.com


5️⃣. Cookie 管理

-c 参数保存服务器发送回来的 Cookie。

-b 参数向服务器发送 Cookie。

保存服务器返回的 Cookie 信息:命令行处于哪一个目录,Cookie文件就会保存在哪。

curl -c cookie.txt baidu.com


​    
​    向服务器发送 Cookie :
​    
​    curl -b 'name=123&pass=456' baidu.com


​    
​    或者
​    
​    # 直接读取本地文件中的 Cookie 信息curl -b cookie.txt baidu.com


​        

6️⃣. 其他使用情况

-k 参数指定跳过 SSL 检测。

curl -k https://www.example.com


​    
​    -L 参数让 HTTP 请求跟随服务器的重定向(curl 默认不跟随重定向)。
​    
​    curl -L baidu.com


​    
​    --limit-rate参数限制访问速度,可作下载限速(默认单位是“字节”)。
​    
​    curl --limit-rate 2048 -O baidu.com


​    
​    -u 参数用来设置服务器认证的用户名和密码。
​    
​    curl -u 'admin:123456' baidu.com

​     上面命令设置用户名为 admin ,密码为 123456 ,然后自动为其加上 HTTP 标头 Authorization: Basic … 。
​    
​    -v 参数输出通信的整个过程,用于调试。
​    curl -v www.example.com

14【远程连接】

​ SSH(Secure Shell)是一种加密的网络协议,用于通过不安全的网络(如互联网)安全地进行远程登录和数据传输。使用SSH协议,可以在远程计算机上执行命令、传输文件和管理远程系统。

要通过SSH进行远程登录,可以按照以下步骤进行操作:

在本地计算机上,打开终端或命令提示符。使用以下命令连接到远程计算机:

	ssh username@remote_ip_address

将"username"替换为您在远程计算机上的用户名,"remote_ip_address"替换为远程计算机的IP地址或主机名。

例如,如果你的用户名是"john",远程计算机的IP地址是"192.168.1.100",则命令将如下所示:

    ssh john@192.168.1.100

如果是第一次连接到远程计算机,系统会提示确认远程计算机的指纹。输入"yes"以继续连接。

系统会要求输入远程计算机上的密码。输入密码时,终端不会显示任何字符。输入密码后按Enter键。

如果密码正确,将成功连接到远程计算机,并在远程计算机上获得一个命令行提示符。现在,可以在远程计算机上执行命令、管理文件等操作。

SSH远程登录需要远程计算机上已启用SSH服务,并且必须具有正确的用户名和密码才能成功登录。确保拥有远程计算机的登录凭据,并且远程计算机上的SSH服务已正确配置和运行。

15【主机映射文件】

​ etc/hosts 文件中记录着一份主机名与 IP 地址的映射关系表,一般用来保存经常需要访问的主机的信息。当访问一个未知的域名时,先查找该文件中是否有相应的映射记录,如果找不到再去向DNS 服务器查询。

​ 用户可以手动指定特定主机名与IP地址之间的映射关系,从而绕过DNS服务器进行主机名解析。这对于在本地网络中进行主机名解析、防止访问特定网站或测试网站配置时非常有用。

默认情况下,系统首先从hosts文件查找解析记录

hosts文件只对当前的主机有效

hosts文件可减少DNS查询过程,从而加快访问速度

# Comments start with a hash symbol
127.0.0.1       localhost
192.168.1.10    example.com