Linux笔记 No.24---(curl、ip、nmcli、网卡/主机名/DNS配置文件、常见网络问题诊断、网络诊断工具:ping/nmap/tcpdump)

一、curl

在Linux中curl是一个利用URL规则在命令行下工作的文件传输工具,可以说是一款很强大的http命令行工具。它支持文件的上传和下载,是综合传输工具,但按传统,习惯称url为下载工具

curl是一种命令行工具,作用是发出网络请求,然后得到和提取数据,在"标准输出"(stdout)上显示。它支持多种协议

  1. 查看网站源码

直接在curl命令后加上网址,就可以看到网页源码

curl URL

如果要把这个网页保存下来,可以使用-o参数

curl -o [文件名] URL
  1. 自动跳转

有的网址是自动跳转的。使用-L参数,curl就会跳转到新的网址。

curl -L URL
  1. 显示头信息

-i参数可以显示http response的头信息,连同网页代码一起。

 curl -i URL

-I参数则是只显示http response的头信息

  1. 显示通信过程

-v参数可以显示一次http通信的整个过程,包括端口连接和http request头信息。

curl -v URL

可以查看更详细的通信过程:

curl --trace-ascii FILENAME URL

运行后,打开FILENAME文件查看

  1. 模拟设备

–user-agent 字段是用来表示客户端的设备信息。服务器有时会根据这个字段,针对不同设备,返回不同格式的网页,比如手机版和桌面版。

curl --user-agent "User Agent" URL
  1. cookie

使用--cookie参数,可以让curl发送cookie。

curl --cookie "name=xxx" URL

至于具体的cookie的值,可以从http response头信息的Set-Cookie字段中得到

将服务器设置的 Cookie 写入一个文件

 curl -c FILENAME URL

-c cookie-file可以保存服务器返回的cookie到文件,-b cookie-file可以使用这个文件作为cookie信息,进行后续的请求。

  $ curl -c cookies http://URL
  $ curl -b cookies http://URL
  1. 增加头信息

有时需要在http request之中,自行增加一个头信息。就要使用--header参数

curl --header "Content-Type:application/json" URL
  1. HTTP认证

有些网域需要HTTP认证,这时curl需要用到--user参数。

curl --user name:password URL
  1. 跳过 SSL 检测
curl -k URL
  1. 限制网速
curl --limit-rate 速率 URL

二、ip

ip是iproute2软件包里面的一个强大的网络配置工具。可以用于显示或操作路由、网络设备、设置路由策略和通道等

用法:

ip [ OPTIONS ] OBJECT {
    COMMAND | help }

Object对象可以是: link 网络设备、addr 设备的协议地址、route 路由表、rule 策略、neigh arp缓存、tunnel ip通道、maddr 多播地址 mroute、多播路由

COMMAND是操作命令,不同的对象有不同的命令设置

对象支持的命令:

  • link(网络设备)对象支持的命令:set、show

  • addr(设备上的协议地址)对象支持的命令:add、del、flush、show

  • route(路由)对象支持的命令:list、flush、get、add、del、change、append、replace、monitor

  • rule(路由策略)对象支持的命令:list、add、del、flush

  • neigh对象支持的命令:add、del、change、replace、show、flush

  • tunnel对象支持的命令:add、change、del、show

  • maddr支持的命令:add、del

  • mroute支持的命令:show

选项:

  • -s :显示详细的信息
  • -f : 指定协议类型
  • -4 :指定使用的网络层协议是IPv4协议
  • -6 :指定使用的网络层协议是IPv6协议
  • -o :输出信息每条记录输出一行,即使内容较多也不换行显示
  • -r :使用系统名字解析DNS

常用用法:

  1. 显示网卡及配置信息 ip addr show
[root@admin ~]# ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens32: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:e7:fb:e7 brd ff:ff:ff:ff:ff:ff
    inet 192.168.126.8/24 brd 192.168.126.255 scope global noprefixroute ens32
       valid_lft forever preferred_lft forever
    inet6 fe80::20c:29ff:fee7:fbe7/64 scope link 
       valid_lft forever preferred_lft forever

输出内容:

可以看到,系统有两个接口:lo和ens32,lo是环回接口,ens32是网络接口

  • <BROADCAST,MULTICAST,UP,LOWER_UP>:BROADCAST表示该接口支持广播;MULTICAST表示该接口支持多播;UP表示该网络接口已启用;LOWER_UP表示网络电缆已插入,设备已连接至网络
  • mtu 1500:最大传输单位(数据包大小)为1,500字节
  • qdisc pfifo_fast:用于数据包排队
  • state UP:网络接口已启用
  • group default qlen 1000:默认传输队列长度
  • link/ether 00:0c:29:e7:fb:e7:接口的MAC(硬件)地址
  • brd ff:ff:ff:ff:ff:ff:广播地址
  • inet 192.168.126.8/24:IPv4地址
  • brd 192.168.126.255:广播地址
  • scope global:全局有效
  • noprefixroute ens32:地址是静态分配
  • valid_lft forever:IPv4地址的有效使用期限
  • preferred_lft forever:IPv4地址的首选生存期
  • inet6 fe80::20c:29ff:fee7:fbe7/64:IPv6地址
  • scope link:仅在此设备上有效
  • valid_lft forever:IPv6地址的有效使用期限
  • preferred_lft forever:IPv6地址的首选生存期
  1. IP管理

设置IP:

ip addr add IP/Mask dev interface

删除配置的IP:

ip addr del IP/Mask dev interface
  1. 改变设备的属性

启用网卡:

ip link set interface up

禁用网卡:

ip link set interface down

改变网络设备MTU(最大传输单元)的值:

ip link set dev interface mtu NUM

修改网络设备的MAC地址:

 ip link set dev interface address MACADDRESS

开启网卡的混杂模式:

ip link set interface promisc on

关闭网卡的混杂模式:

ip link set interface promisc off
  1. 路由配置

查看路由信息:

ip route [show]
#route 或 route -n ;netstat -r 或 netstat -nr
[root@admin ~]# ip route show
default via 192.168.126.2 dev ens32 proto static metric 100 
192.168.126.0/24 dev ens32 proto kernel scope link src 192.168.126.8 metric 100

输出内容:

  • 第一条是默认路由
  • metric 100 :跳跃计数,确定网关的优先级。Metric的值越小,优先级越高
  • proto kernel:该路由的协议,主要有redirect,kernel,boot,static,ra等,其中kernel指的是直接由核心判断自动设定

查询路由表某IP包从哪条路由来:

ip route get IP

修改特定网卡的默认路由:

 ip route add DESTINATION [via NEXT_HOP] [src SOURCE_ADDRESS]
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值