IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> 网络相关linux指令等储备 -> 正文阅读

[系统运维]网络相关linux指令等储备

1.ping和telnet

  1. todo:ping一个网段
  2. ping和telnet
    1. ping + ip: 查看某一个ip地址是否能够连通,如: ping 114.80.67.193
    2. telnet ip port : 查看某一个机器上的某一个端口是否可以访问,如:telnet 114.80.67.193 8080
    3. ping 常用指令:
      1. -i: 每次执行ping操作的间隔时间, 默认是1s;
      2. -c: 执行ping操作的次数, 默认是一直执行, 除非被中断;

      3. -s: 指定执行ping操作时发送的包的大小, 默认是56B, 添加报文头之后, 最终发送的是64B.

      4. 使用示例
        #?在终端?ping?某个地址,?执行3次,?每次间隔2秒,?每次发送10KB的数据:
        [root@localhost?~]#?ping?-c?3?-i?2?-s?10240?172.16.22.132

        ?

  3. ping 输出格式

    输出格式:

    ?下图为简单的ping产生的响应内容,图中返回内容具体的含义如下:

    • ① ping目标主机的域名和IP(ping会自动将域名转换为IP)
    • ② 不带包头的包大小和带包头的包大小(参考“-s”参数)
    • ③ icmp_seq:ping序列,从1开始;
    •   ttl:剩余的ttl;
    •   time: 响应时间,数值越小,联通速度越快;
    • ④ 发出去的包数,返回的包数,丢包率,耗费时间;
    • ⑤ 最小/最大/平均响应时间和本机硬件耗费时间;
  4. ?NR(Number of Record):行号,当前处理的文本行的行号。
  5. ?FNR:各文件分别计数的行号\.注意:grep的--line-buffered选项和awk的fflush(stdout)命令可以使得grep和awk不缓存数据。不然文件不会有信息

    #!/usr/bin/sh
    
    #?ping?-c -c: 执行ping操作的次数, 默认是一直执行, 除非被中断,86400次,?默认间隔1秒,?也就是24小时;-s 指定执行ping操作时发送的包的大小, 默认是56B
    ping -c 5 -s 20240 10.157.22.230 | gawk -F '[ ,=]' '$10>0.5''{print NR "\t" ?$5 "=" $6,$9"="$10,$11 "\t" strftime("%D_%H:%M:%S",systime())}'?> logs/overReponseTime.txt 
    
  6. sh -x pingOverTime.sh
  7. # 输出包含 "re" 的行 $ awk '/re/ ' log.txt
    ls -l *.txt | awk '{sum+=$5} END {print sum}'
    awk 'BEGIN{FS=","} {print $1,$2}'     log.txt
    awk 'BEGIN{FS=","} {print $1,$2}END {print sum}'     log.txt
    awk
    'BEGIN {print "统计销售金额";total=0}          # 输出提示语"统计销售金额",并设置total变量为0
    {print $3;total=total+$3;}                   # 逐行扫描文件
    END {print "销售金额总计",total}' file.txt     # 在扫描文件之后执行,打印total变量
  8. 通过脚本记录时间戳

    1. 很多时候, 我们除了监控网络时延的大小, 还想知道网络发生抖动时的具体时间 —— 可以将 ping 的结果通过管道进行处理.为了方便后期查看, 也防止退出终端时命令被中断, 我们可以通过后台运行命令(脚本)的方式进行操作.

      脚本内容如下

      #!/usr/bin/sh
      
      #?ping?86400次,?默认间隔1秒,?也就是24小时
      ping -c 10 -s 10240 10.157.22.230 | awk '{ print $0"\t" strftime("%D_%H:%M:%S",systime()) }' > ping_result.log

    2. 为防止脚本被中断, 可以通过 nohup 令脚本在后台执行:nohup?sh?long_ping.sh?&

    3. 要结束后台进程, 可通过下述方式查找并kill:?ps?aux?|?grep??long_ping.sh?ps -ef |grep long.sh
      ?

      1. 格式化时间 systime(?[format?specification][,timestamp]?
         awk '{now=strftime("%D",systime());print now}'

2.Linux awk 命令

  1. awk '条件1 {动作 1} 条件 2 {动作 2} …' 文件名
  2. FS:指定每行文本的字段分隔符,默认为空格或制表位。 与-F一样
    NF:当前处理的行的字段个数。
    NR:当前处理的行的行号(序数)。
    $0:当前处理的行的整行内容。——cat /etc/passwd | awk '{print}'? #输出所有内容? 或者? '{print $0}'
    $n:当前处理行的第 n 个字段(第 n 列)。
    FILENAME:被处理的文件名。
    RS:数据记录分隔,默认为\n,即每行为一条记录。
    ?
  3. awk '{[pattern] action}' {filenames} # 行匹配语句 awk '' 只能用单引号

  4. awk -F  #-F相当于内置变量FS, 指定分割字符
    
    2 this is a test
    3 Do you like awk
    This's a test
    10 There are orange,apple,mongo

    ?

  5. awk -v  # 设置变量

    ?

  6. awk -f {awk脚本} {文件名}  ——>awk -f cal.awk log.txt
    1. ?

    ?

    ?

  7. 使用正则,字符串匹配.

    1. ~ 表示模式开始。// 中是模式。

      # 输出包含 "re" 的行
      $ awk '/re/ ' log.txt
      ---------------------------------------------
      3 Do you like awk
      10 There are orange,apple,mongo
      # 输出第二列包含 "th",并打印第二列与第四列
      $ awk '$2 ~ /th/ {print $2,$4}' log.txt
      ---------------------------------------------
      this a
    2. 忽略大小写

      $ awk 'BEGIN{IGNORECASE=1} /this/' log.txt
      ---------------------------------------------
      2 this is a test
      This's a test

    3. 模式取反

      $ awk '$2 !~ /th/ {print $2,$4}' log.txt
      ---------------------------------------------
      Are like
      a
      There orange,apple,mongo
      $ awk '!/th/ {print $2,$4}' log.txt
      ---------------------------------------------
      Are like
      a
      There orange,apple,mongo
  8. awk脚本

    关于 awk 脚本,我们需要注意两个关键词 BEGIN 和 END。

    • BEGIN{ 这里面放的是执行前的语句 }
    • END {这里面放的是处理完所有的行后要执行的语句 }
    • {这里面放的是处理每一行时要执行的语句}
  9. 解释一下变量:

    变量:分为内置变量和自定义变量;输入分隔符FS和输出分隔符OFS都属于内置变量。

    内置变量就是awk预定义好的、内置在awk内部的变量,而自定义变量就是用户定义的变量。

    • ?FS(Field Separator):输入字段分隔符, 默认为空白字符
    • ?OFS(Out of Field Separator):输出字段分隔符, 默认为空白字符
    • ?RS(Record Separator):输入记录分隔符(输入换行符), 指定输入时的换行符
    • ?ORS(Output Record Separate):输出记录分隔符(输出换行符),输出时用指定符号代替换行符
    • ?NF(Number for Field):当前行的字段的个数(即当前行被分割成了几列)
    • ?NR(Number of Record):行号,当前处理的文本行的行号。
    • ?FNR:各文件分别计数的行号
    • ?ARGC:命令行参数的个数
    • ?ARGV:数组,保存的是命令行所给定的各参数

    自定义变量的方法

    • ?方法一:-v varname=value ,变量名区分字符大小写。
    • ?方法二:在program中直接定义。
  10. cat /etc/passwd | awk -F ":" '{print $1,$3,$4}'

#以":"为分隔符,输出1,3,4列内容

3. 脚本备注

  1. 能ping通过

    $ping -c 5 -s 20240 10.157.22.230
    PING 10.157.22.230 (10.157.22.230) 20240(20268) bytes of data.
    20248 bytes from 10.157.22.230: icmp_seq=1 ttl=63 time=1.87 ms
    20248 bytes from 10.157.22.230: icmp_seq=2 ttl=63 time=0.495 ms
    20248 bytes from 10.157.22.230: icmp_seq=3 ttl=63 time=0.500 ms
    20248 bytes from 10.157.22.230: icmp_seq=4 ttl=63 time=0.507 ms
    20248 bytes from 10.157.22.230: icmp_seq=5 ttl=63 time=0.453 ms
    
    --- 10.157.22.230 ping statistics ---
    5 packets transmitted, 5 received, 0% packet loss, time 4002ms
    rtt min/avg/max/mdev = 0.453/0.765/1.872/0.554 ms

  2. 不能ping,丢包

    $ping -c 5 -s 1240 172.16.22.132
    PING 172.16.22.132 (172.16.22.132) 1240(1268) bytes of data.
    
    --- 172.16.22.132 ping statistics ---
    5 packets transmitted, 0 received, 100% packet loss, time 3999ms

  3. 等等

5.ping和ICMP (得再看看,不太明白)

计算机网络——ping命令过程的详解、原理_欢喜躲在眉梢里的博客-CSDN博客_ping过程详解

ping是基于ICMP协议工作的。ICMP全称是Internet Control Message Protocol,就是互联网控制报文协议。
控制主要指的是?
网络包在异常复杂的网络环境中传输时,常常会遇到各种问题。遇到问题时,不能死的不明不白,所以需要传出消息来报告情况,这样才能调整传输策略。类比古代行军中,将军要通过侦察兵掌握情况,控制全局。
ICMP 是封装在IP包里面的。因为传输指令的时候,需要源地址和目标地址
在这里插入图片描述
ICMP报文有很多类型,不同的类型有不同的代码。最常用的类型是主动请求为8,主动请求的应答为0。

查询报文类型

ICMP查询报文类型和主动应答的ICMP协议。ping 包比如原生的ICMP,多了两个字段,一个是标识符,用于标识功能的。一个是序号,统计回来数目的。

差错报文类型

  • 终点不可达。 网络不可达为0,主机不可达为1,协议不可达为2,端口不可达为3,需要进行分片单设置了不分片位代码为4。
  • 源站抑制。也就是让源站放慢发送速度。
  • 时间超时。超过网络包的生存时间还没到
  • 路由重定向。下次发给另外一个路由器。

查询报文类型的使用

在这里插入图片描述

差错报文类型的使用

Traceroute的第一个作用就是故意设置特殊的TTL,来追踪去往目的地时沿途经过的路由器。
Traceroute故意设置不分片,来确定路径的MTU。

小结

  • ICMP相当于网络世界的侦察兵,两种类型的ICMP报文,一种是主动探查的查询报文,一种是异常报告的差错报文。
  • ping使用查询报文,Traceroute使用差错报文。

6. postman 授权

Postman之授权( Authorization)_51CTO博客_postman authorization

7.启多个服务端口 ——脚本 or?Iperf

一个ip本就对应6w多个端口可供使用,但是端口的作用是辅助定位某个应用程序,也就是说,如果你一台服务器并未开启任何服务,那么你的所有端口都属于未使用状态,比如你开启一个nginx服务,监听80端口,并部署了一个网站,别人可以通过你的ip+端口访问你nginx上面部署的网站,通过ip确定是哪台设备,通过端口确定设备上的某个服务进程而已。

  1. 脚本 , eg:[工具] Shell 批量对多个 IP 地址开发多个端口策略 (firewalld 版) – Eternal Center
    1. 脚本
      #!/bin/bash
      
      ####################### Separator ########################
      
      ips="192.168.2.1 192.168.1.0/24"
      ports"22 3306 8080-8090"
      
      ####################### Separator ########################
      
      systemctl start firewalld
      systemctl enable firewalld
      
      for i in $ips
      do
              for j in $ports
              do
                      firewall-cmd --add-rich-rule="rule family="ipv4" source address="$i" port protocol="tcp" port="$j" accept" --permanent
              done
              echo $i done
              echo
      done
      
      firewall-cmd --reload

  2. Iperf:GP智能网卡验证

2.Iperf(需要安装)

是一个网络性能 测试工具。可以测试TCP和UDP带宽质量,可以测量最大TCP带宽,具有多种参数和UDP特性,可以报告带宽,延迟抖动和数据包丢失。

(这里先不说怎么发包、带宽测试等带宽测试工具iperf3使用方法详解_逸趣,只说启服务端口)

eg:

  1. 环境假设:

    假设两台云服务器A(内)和B(外),我们通过笔记本电脑终端分别ssh远程连接上云服务器A和B。

    A(内)IP地址:10.10.0.1

    B(外)IP地址:10.10.0.2

  2. 先让B(外)做server端,开启iperf服务器模式,指定TCP端口1314:#iperf3?-s -p?1314
  3. 然后打开A(内)做client端,连接服务器端1314端口:#iperf3?-c?10.10.0.2? -p?1314

参数说明

-s? ? ? ? ? ? ?以server模式启动,eg:iperf -s?

-c host? ? 以client模式启动,host是server端地址,eg:iperf -c 222.35.11.23

通用参数?

-f [k|m|K|M] 分别表示以Kbits, Mbits, KBytes, MBytes显示报告,默认以Mbits为单位,eg:iperf -c 222.35.11.23 -f K?

-i sec 以秒为单位显示报告间隔,eg:iperf -c 222.35.11.23 -i 2

-l 缓冲区大小,默认是8KB,eg:iperf -c 222.35.11.23 -l 16 -m 显示tcp最大mtu值?

-o 将报告和错误信息输出到文件eg:iperf -c 222.35.11.23 -o c:\iperflog.txt?

-p 指定服务器端使用的端口或客户端所连接的端口eg:iperf -s -p 9999;iperf -c 222.35.11.23 -p 9999?

-u 使用udp协议?

-w 指定TCP窗口大小,默认是8KB?

-B 绑定一个主机地址或接口(当主机有多个地址或接口时使用该参数)

-C 兼容旧版本(当server端和client端版本不一样时使用)

-M 设定TCP数据包的最大mtu值

-N 设定TCP不延时

-V 传输ipv6数据包?? server专用参数?

-D 以服务方式运行ipserf,eg:iperf -s -D -R 停止iperf服务,针对-D,eg:iperf -s -R??

client端专用参数?

-d 同时进行双向传输测试?

-n 指定传输的字节数,eg:iperf -c 222.35.11.23 -n 100000

-r 单独进行双向传输测试?

-t 测试时间,默认10秒,eg:iperf -c 222.35.11.23 -t 5

-F 指定需要传输的文件

-T 指定ttl值?

8.ping 、telnet、tcping

  1. ping 命令只能检查 IP 的连通性或网络连接速度,无法具体到某个端口。
    1. ping 命令使用 ICMP 协议,跟 IP 协议属于同一层次(网络层)。ping 命令在每次发数据包后都会等对方返回数据包。可以禁止 ICMP 协议,此时对方收到消息后不会回复。
    2. 端口是传输层 TCP/UDP 协议的概念,比如常用的 web 端口指的是 TCP 的 80 端口。使用网络层的 ping 命令是无法指定端口的。
    3. ping 不通,可能是服务器确实没有开放这个端口,或是禁 ping 了。
  2. telnet 命令使用 TCP 协议,一般用于远程登录(明文传输,不安全,已经被 SSH 替代了),也可以查看指定端口的连通性
    1. telnet ip2 port
  3. tcping 命令 tcping 命令使用 TCP 协议(传输层),也可以看 ping 值,即使源地址禁 ping 也可以通过 tcping 来监控服务器网络状态。 可以指定监控的端口。

    1. ?tcping -t 59.46.9.195 3389: -t是连续ping服务器59.36.100.195的3389端口,去掉-t就只发送默认的4次tcp包。

使用上来看tcping和telnet都可以用于,查看端口级别的连通情况

tcping
tcping:tcping命令基于tcp协议监控,可以从较低级别的协议获得简单的,可能不可靠的数据报服务。 原则上,TCP应该能够在从容硬线连接到分组交换或电路交换网络的各种通信系统之上操作。

tcping与ping的区别
指代不同
①ping:1、ping:是Windows、Unix和Linux系统下的一个命令。ping也属于一个通信协议,是TCP/IP协议的一部分。通过ICMP协议发送报文到对方主机上任意一个60000以上的端口,然后获取对方主机的回复

②tcping:是一种面向连接的、可靠的、基于字节流的传输层通信协议。使用tcp协议尝试与某一个端口建立连接,然后获取与对方主机建立一次连接的回复

功能不同
①.ping:利用“ping”命令可以检查网络是否连通,可以很好地帮助分析和判定网络故障。
②.tcping:适知应支持多网络应用的分层协议层次结构。 连接到不同但互连的计算机通信网络的主计算机中的成道对进程之间依靠TCP提供可靠的通信内服务。有些网络环境禁ping,想要知道网络或端口连通性,tcping就是很好的方法

特点不同
①.ping:Ping发送一个ICMP即因特网信报控制协议;回声请求消息给目的地并报告是否收到所希望的ICMPecho
②.tcping:可以从较低级别的协议获得简单的,可能不可靠的数据报服务。 原则上,TCP应该能够在从容硬线连接到分组交换或电路交换网络的各种通信系统之上操作
?

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-11-05 00:57:57  更:2022-11-05 00:58:19 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 6:03:22-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码