《Linux Shell脚本攻略》学习笔记-第八章

news2024/12/27 3:45:00

8.1 简介

TCP/IP网络的运作过程就是在节点之间传递分组。每一个分组中都包含了目标的IP地址以及处理分组中数据的应用程序端口号。

当节点接收到分组时,它会查看自己是否就是改分组的目的地。如果是,节点会再检查端口号并调用相应的应用程序来处理分组数据。如果不是,节点则根据已知的网络配置,将分组发送到离最终目的地更近的下一个节点。

8.2 网络设置

限制它只显示某个特定接口的信息

如果想要从ifconfig输出中提取ip地址,可以使用

ifconfig的子命令可以定义设备类别以及MAC地址

将IP地址映射为符号名称的这种技术称为域名服务。当我们输入www.google.com,计算机使用DNS服务器将域名解析为对应的IP地址。

一个域名可以对应多个IP地址,对于这种情况,ping只会显示其中的一个地址。

如果一个网络中的设备想要同另一个网络中的设备通信,就需要借助某个同时连接了两个网络的设备分组。这个特殊的设备叫做网关,它的作用就是在不同的网络中转发分组。

操作系统维护着一个叫做路由表的表格,它包含了分组如何转发的信息。

-n选项可以指定数字形式显示地址,默认情况下route命令会将IP地址映射为名字。

如果系统不知道如何分组到目的地的路由,它会将其发送到默认网关。

route add命令可以添加默认网关。

8.3 ping

ping可以用于检验网络上主机之间的连通性,找出活动主机。

默认情况下,ping会发送连续分组,可以使用ctrl+c来停止ping命令。

网络管理员通常会对网络设备进行配置,使其不响应ping命令。

ping命令可以显示每个分组的往返时间RTT。

其中mdev代表的是平均偏差。

ping发出的每个分组都有一个序列号,从1开始,知道ping结束。

依据你使用的系统或ping命令版本的不同,生存时间TTL的初始值也不尽相同。你可以通过向环回接口发出ping命令来确定TTL的初始值。

使用TTL的初始值减去回应中的TTL值,就可以得到两个位置之间的跳数。(128-54)

8.4 跟踪IP路由

traceroute命令可以显示分组途径的所有网管的地址,帮助我们搞清楚分组到达目的地需要经过多少跳。

8.5 列出网络中所有的活动主机

8.6 使用SSH在远程主机上执行命令

SSH能够让你访问远程计算机上的shell,从而在其上执行交互命令并接收结果,或是启动交互会话。

连接运行了SSH服务器的远程主机

SSH服务器默认在端口22上运行,但是有些SSH服务器并没有使用这个端口。针对这个特殊情况,可以使用-p port_number来指定端口。

8.8 通过网络传输文件

计算机联网的主要目的之一就是资源共享,文件就是常见的共享资源。

启动SFTP会话:

可以使用-oPort=PORT_NUMBER来指定端口号。

scp的选项-r可以在两台网络主机之间以递归形式复制目录;scp的-p选项能够在复制文件的同时保留文件的权限和模式。

8.10 实现SSH的无密码自动登录

       SSH广泛用于脚本自动化。借助SSH,我们可以在远程主机上执行命令并读取输出。SSH使用用户名和密码进行认证。在SSH命令的执行过程中提示输入密码。但是在自动化脚本中,SSH命令可能在一个循环中执行上百次,每次都得提供密码的话,显然不实际。因此,我们需要将登入过程自动化。SSH就包含了一个内建的特性,可以用SSH密钥实现自动登陆。这则攻略描述了如何创建SSH密钥并协助实现自动登陆。

       SSH采用基于公钥和基于私钥的加密技术进行自动化认证。认证密钥包含两部分:一个公钥和一个私钥。我们可以通过“ssh-keygen”命令创建认证密钥。要想实现自动化认证,公钥必须放置在服务器中(将其加入文件~/.ssh/authorized_keys),与公钥对应的私钥应该放入你用来登录的客户机的~/.ssh目录中。另一些与SSH相关的配置信息(例如,authorized_keys文件的路径与名称)可以通过修改文件/etc/ssh/sshd_config进行配置。

       设置SSH自动化认证步骤:

                1. 创建SSH密钥,这需要登录到远程主机

                2. 将生成的密钥传输到远程主机,并将其加入文件~/.ssh/authorized_keys中

1、输入命令创建SSH密钥,并指定加密算法

ssh-keygen -t rsa

      这里使用ssh-keygen 命令,-t参数表示接下来跟的是加密类型(type),然后就是加密的算法,可以选择rsa1(老版的rsa),rsa(新版的rsa),dsa,ecdsa,ed25519 等。这里用作证书通常使用rsa算法。

       然后会要求你填输出的文件夹,一般默认就摆在/home/user/.ssh/下的id_rsa文件中吧。不过需要注意的是,如果曾经生成过密钥,现在重新生成一个的话,如果不改地址是会将原来的覆盖掉的,这样可能会惹一些麻烦的。。。

       接下来你可以另外设置一个密码,这个密码相当于一个独立的连接服务器的密码,而不是服务器用户的密码。你就是相当于用这个密码来替代服务器的用户密码(这个密码的长度要大于四)。当然如果怕麻烦可以直接回车回车,表示不用这个密码。

到这一步密码就生成完了,在~/.ssh/下就有了生成的文件了。其中id_rsa.pub是公钥,id_rsa是私钥。

2、上传公钥到远程服务器

      公钥必须添加到想要自动登录的远程服务器的/home/user/.ssh/authorized_key文件中。

scp id_rsa.pub user@remote_host:~/.ssh/authorized_keys

            本地服务器操作过程:

远程服务器检查:

8.13 分析网络流量和端口

8.15 创建套接字

netcat和nc命令都可以创建用于在TCP/IP网络上传输数据的套接字。我们需要两个套接字:一个负责侦听连接,一个负责发起连接。(注意关闭防火墙)

8.18 使用ipables架设简易防火墙

1)iptables -A INPUT -s IP地址 -p tcp 端口号 -j ACCEPT

2)iptables -A INPUT -s IP地址 -p tcp --dport 端口号 -j ACCEPT

3)iptables -A INPUT -p tcp --dport 端口号-j DROP

  • netstat也可以显示网络服务统计信息
  • lsof命令可以列出已打开的文件,选项-i将范围限制在已打开的网络连接
  • 无密码登录检验
  • 实现方法
  • 储备知识
  • SCP是一个安全的文件复制命令,文件传输均通过SSH加密通道进行传输。
  • SFTP是一个运行在SSH连接之上并模拟了FTP接口的文件传输系统,它不需要远端运行FTP服务器来进行文件传输,但是必须要有SSH服务器。
  • fping
  • 实际效果
  • shell脚本
  • 限制发送的分组数量
  • 生存时间
  • 序列号
  • 往返时间
  • 显示路由表信息
  • DNS查找
  • 名字服务器与DNS(域名服务)
  • 硬件地址欺骗
  • 显示IP地址
  • 打印网络接口列表
  • 很多网络使用动态主机配置协议(DHCP)自动为连接到网络上的计算机分配IP地址。dhclient命令可以用于完成这项任务,很多linux发行版在感知到有网络物理连接的时候会自动调用dhclient。
  • 补充内容
  • 设置网络接口的IP地址
  • ifconfig命令用于配置及显示网络接口、子网掩码等细节信息。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/167640.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Cookie 会话身份验证是如何工作的?

在 Web 应用程序中,Cookie-Session 是一种标准的身份验证方法。饼干,也被称为“sweet cookies”。类型为“小文本文件”,是指一些网站为了识别用户身份而存储在客户端的数据。Session的主要功能是通过服务器记录用户的状态。 在典型的在线购物…

类与类之间关系的表示方式

1.关联关系 关联关系是对象之间的一种引用关系,用于表示一类对象与另一类对象之间的联系,如老师和学生,师傅和徒弟,丈夫和妻子等。关联关系是类与类之间最常用的一种关系,分为一般关联关系,聚合关系和组合…

郭天祥十天入门单片机学习笔记

电子元件 排阻 有两种: nn1 二极管 几个概念 限流电阻:与二极管串联,防止电流过大烧毁二极管导通压降:二极管亮起的最小电压 贴片式绿色为阴极,插入式短脚为阴极 数码管 共阴极:对应段选信号置1亮…

测试开发 | 这些常用测试平台,你们公司在用的是哪些呢?

测试管理平台是贯穿测试整个生命周期的工具集合,它主要解决的是测试过程中团队协作的问题。在整个测试过程中,需要对测试用例、Bug、代码、持续集成等等进行管理。下面分别从这四个方面介绍现在比较流行的管理平台。 图片108091 50.2 KB 测试用例管理平台…

Doris 使用记录(随机更新(ง •_•)ง)

文章目录知识点常见数据分布方式使用表动态分区Hash分桶知识点 常见数据分布方式 分布式数据库中常见的数据分布方式。 轮询:Round-Robin,假设分桶数为3,数据按顺序依次写入桶1、桶2、桶3,然后继续循环。 区间:Ran…

【Lp-CVT and Applications】

Lp-CVT and Applications 论文笔记 本文是论文 Lp Centroidal Voronoi Tessellation and its Applications 的学习笔记。有不足之处,请指出!非常感谢! 1 主要工作 解决问题:推广CVT以适用各向异性和六面体网格划分。推广 CVT &am…

如何模拟实现一个“缓存”?

目录 前言 一、LRU Cache是什么 二、模拟实现 2.1、通过继承 LinkedHashMap 模拟实现 2.2、自主模拟实现LRU Cache 2.2.1、LRU Cache的定义 2.2.2、存放结点 2.2.3、访问结点 2.2.4、LRU Cache 完整模拟代码 小结 前言 这次主要实现一个类似缓存的一种数据结构&#xf…

day49 业务逻辑水平垂直越权访问控制脆弱验证

前言: #知识点: 1、水平越权-同级用户权限共享 2、垂直越权-低高用户权限共享 3、访问控制-验证丢失&取消验证 4、脆弱验证-Cookie&Token&Jwt等 #前置知识: 1、逻辑越权原理- -水平越权:用户信息获取时未对用户…

NTP(Network Time Protocol)协议详解

一、NTP的基本概念: NTP(Network Time Protocol)------网络时间协议-----应用层协议,用来在分布式时间服务器和客户端之间进行时间同步。 二、采用NTP的目的: 是对网络内所有具有时钟的设备进行时钟同步,使网络内所有设备的时钟…

JDY-06蓝牙透传无天线模块介绍

JDY-06蓝牙透传无天线模块简介JDY-06透传模块是基于蓝牙4.0协议标准,工作频段为2.4GHZ范围,调制方式为GFSK,最大发射功率为0db,最大发射距离60米,采用TICC2541芯片设计,支持用户通过AT命令修改设备名、服务…

Alkyne maleimide,Mal-Alkyne,炔烃-马来酰亚胺

中英文别名:CAS号:N/A | 英文名:Alkyne maleimide,Mal-Alkyne |中文名:炔烃-马来酰亚胺物理参数:CASNumber:N/AMolecular formula:C12H14N2O3Molecular weight:234.26Pur…

什么是前后端分离?

当前,数字化发展速度越来越快,前后端分离已经成为今后的发展趋势。在现代化办公管理中,不少企业倾向于使用低代码开发平台实现高效协作办公,那么,什么是前后端分离?都有哪些特点?本文就围绕这个…

【网络安全】渗透测试之linux信息收集

前言 在内网中linux的服务器是占大多数的,主要原因分为以下几点 1.便宜,linux大多为免费的,Windows Server是收费的,对于企业来说为了节约成本,大量采用linux服务器。 2.轻便,linux主要是对服务器进行服务的…

递归算法实例应用(三)

递归算法实例应用(三) 四则运算表达式求值 Description 给你一个字符串表达式 str ,请你实现一个基本计算器来计算并返回它的值。 注意:不允许使用任何将字符串作为数学表达式计算的内置函数 。 Input 一行,一个四则运算表达…

编写设备驱动之i2c_client

编写设备驱动之i2c_client 文章目录编写设备驱动之i2c_client参考资料:一、I2C总线-设备-驱动模型二、 编译i2c_driver三、编写测试程序四、多种方法生成i2c_client并测试4.1 在用户态生成4.2 编写代码4.3 使用设备树生成2. IMX6ULL4.4 上机测试致谢参考资料&#x…

prometheus的remotewrite解析

特性 目的是为了向远端的存储写入数据。 为了提高写入效率,Prometheus在将采集到的samples写入远程存储之前,会先缓存在内存队列中,然后打包发送给远端存储。而这个内存队列的配置参数,对于Prometheus写入远程存储的效率影响较大…

《MySQL高级篇》十一、事务基础知识

文章目录1. 数据库事务概述1.1 存储引擎支持情况1.2 基本概念1.3 事务的ACID特性1.4 事务的状态2. 如何使用事务2.1 显式事务2.2 隐式事务2.3 隐式提交数据的情况2.4 使用举例1:提交与回滚2.5 使用举例2:测试不支持事务的Engine2.6 使用举例3&#xff1a…

STL中的队列用法整理

STL中的队列先进先出队列(FIFO)主要方法代码示例输出优先级队列模版原型主要对方法有代码示例int的大顶堆运行结果int的小顶堆运行结果使用自定义的比较函数的优先队列代码示例运行结果双端队列主要方法示例运行结果有关双端队列的题目先进先出队列&…

Vue生命周期,总也学不会,所以我详细整理了一下

今天,我和大家一起来对vue生命周期做一个整理和思考,希望有缘人看到我的年度整理和思考,如果觉得靠谱呢,就交个朋友,如果觉得我整理的不足,就请指出,让我们一起进步,让我们2023年能共…

单链表

插入: head 表示头结点的下标 e[i] 表示节点i的值 ne[i] 表示节点i的next指针是多少 idx 存储当前已经用到了哪个点 步骤:1.初始化head 2.将x插到头结点 3.插入:将x插到下标是k的点后面 4.将x插到下标是k的点后面 5.将下标是k的点后面…