☰
Linux系统相关检测与Shell脚本了解
2026/11/3 2:11:44 网站建设 项目流程

文章目录

  • Linux文件下载器
    • wget文件下载器
    • cutl多功能文件下载器
  • Linux防火墙
    • 查看iptables静态防火墙状态
    • 查看firewalld动态防火墙状态
    • 防火墙安装指令
    • Linux防火墙关闭与启动服务
  • 了解shell脚本编辑器
    • 常见的shell与shell的区别
    • 如何写shell脚本与使用
    • 可用`TRAE CN`平台,生成AI写Shell脚本
  • xshell远程连接
    • xshell普通用户连接前提
    • xshell管理员连接前提
    • `TRAE CN`远程连接
  • Hydra九头蛇工具
    • 使用语法
      • 常用命令参数

Linux文件下载器

Linux相关检测涵盖文件下载和Linux防火墙,了解主要目的是为了解决防火墙入站规则过严带来的访问拦截问题。

wget文件下载器

  • wget:简单可靠的下载器
  • 例如:wget http://www.baidu.com/robots.txt -O abc.txt
  • 解析:wget执行下载;http://www.baidu.com百度网址;robots.txt是网站根目录协议文件,是告知搜索引擎/爬虫有哪些限制目录禁止访问权限文件;-O(大写)文件下载本地另取名abc.txt。

cutl多功能文件下载器

  • cutl:多功能传输工具,“通过命令访问某个网站;检测能否正常访问该内容;能够返回响应内容;响应内容是否HTML源码。”
  • 例如:curl http://www.baidu.com/robots.txt -O abc.txt
  • 解析:curl http://www.baidu.com:回车此命令网站,可先检测是否能正常访问百度网页网站。
    • 注:以上需root管理员权限

Linux防火墙

防火墙就是根据系统管理员设定的规则来控制数据包的进出,主要是保护内网的安全。目前Linux系统的防火墙类型主要有两种:分别是iptables和firewalld。

  • 注:Kali Linux是一个发行版本,其中并没有安装防火墙,需手动安装。

查看iptables静态防火墙状态

早期的Linux系统中默认使用的是iptables防火墙,配置文件在/etc/sysconfig/iptables,主要工作在网络层,该防⽕墙使⽤链式规则,只可以过滤互联⽹的数据包,⽆法过滤从内⽹到内⽹的数据包。

  • iptables只可以通过命令行进行配置;默认是允许所有,需要通过拒绝去做限制;在修改规则之后必须得全部刷新才可以生效,还会丢失连接(无法守护进程)。

查看firewalld动态防火墙状态

取代了之前的iptables防火墙,配置文件在/usr/lib/firewalld和/etc/fiewalld中,主要工作在网络层新增区域概念。(可过滤互联网数据包,也可过滤内网的数据包,控制数据进出)

  • firewalld不仅可以通过命令行进行配置,也可以通过图形化界面配置;默认是拒绝所有,需要通过允许去放行;可以动态修改单条规则,动态管理规则集(允许更新规则而不破坏现有会话和连接,可以守护进程)。

防火墙安装指令

  • 注:Kali Linux是一个发行版本,其中并没有安装防火墙,需手动安装。
    • sudo yum install firewalld:基于RPM的系统安装firewalld。
    • sudo apt install firewalld:基于Debian的系统(如Ubuntu),虽然通常不预装firewalld,但也可以使用apt命令进行安装。

Linux防火墙关闭与启动服务

  • sudo systemctl status firewalld:查看firewalld防⽕墙状态
  • sudo systemctl status iptables:查看iptables防⽕墙状态(如果系统使⽤iptables作为防⽕墙
  • sudo systemctl start firewalld:启动服务
  • sudo systemctl stop firewalld: 关闭firewalld服务
  • sudo systemctl enable firewalld:开机自启动
  • sudo systemctl disable firewalld: 禁止务开机自启动
#逐句拆解: sudo→任务执行 systemctl→开启某个服务 start→状态指令 firewalld→服务名

了解shell脚本编辑器

  • shell是什么:shell是人与机子中间的翻译管,同时是程序语言,是Linux当中一个自动化处理器。shell是Linux当中提高工作效率的一门编辑器语言;windous中提高工作效率的编辑器是bet自动化批量处理的编辑器文本。

  • 目的:shell不仅在Linux中提高某些(开发人员或运维人员)的工作效率,同时也依赖一些功能非常强大的命令,快速完成某些开发任务。

常见的shell与shell的区别

Linux 的 Shell 种类众多,常⻅的有:

  • Bourne Shell(/usr/bin/sh或/bin/sh)
  • Bourne Again Shell(/bin/bash)
  • C Shell(/usr/bin/csh)
  • K Shell(/usr/bin/ksh)Shell for Root(/sbin/sh

不同的shell,工作环境与使用方法也是不一样的。

  • /bin/bash:它能够保证跨平台兼容性,部分脚本开发优先使用的解释环境。(没有美观格式)
  • Kali默认的sh是zsh(例如:usr/din/zsh):它是日常交互与功能保持美观平衡状态的shell。(保持美观格式)
  • sh:这个shell是做嵌入式和轻量级一些的环境,在当中优先使用的shell。

如何写shell脚本与使用

shell通常默认脚本文件名后缀为.sh,是方便开发者肉眼区分行业中约定俗成的文件命令习惯。而Linux系统通常以文件头部的shebang(标记:#!)去识别它的解释器。所以在文件中编辑自己的某个解释器,就是告诉计算机自己需要的是哪个环境,并去调用执行需要的环境。

// vim编辑器+自定义文件名vim adc//在vim文件编辑器中;用(#!)去声名指定脚本使⽤的解释器bash#!/bin/bash//用sh语法,echo→去输出编写内容字符,输出字符内容需打上双引号echo"hell hack"//vim用pw保存退出返回Linux的运行编辑指令./adc ( 如回车报错,root权限也已被拒,需查看r、w、x读写执行的文件权限,并进行必要权限修改)
  • echo $SHELL:查看当前用户使用的sh
  • bash 脚本名:强行用bash执行
  • sh 脚本名:默认用sh执行
    • 当脚本文件没有sh执行权限,可以bash或sh自带的执行权限,去执行没有权限的脚本文件。

可用TRAE CN平台,生成AI写Shell脚本

如果不会手动写脚本,可将自己的需求描述给AI,让他编写好脚本内容再复试去vim编辑器内粘贴保存并退出vim,在去Linux中运行使用bash 脚本名执行打印到终端即可。

  • 那什么是TRAE CN:它是结合AI使用功能,提高开发效率,它是字节跳动,国内开发ID。

xshell远程连接

xshell是远程连接服务协议,可与xftp传输文件服务搭配使用。
xshell用于远程连接服务器或虚拟机,支持SSH、SERTAL等多种协议。

  • SSH:安全、加密协议,用于远程连接Linux服务,默认端口是22。
  • 服务又分成两部分组成,“服务端”与“客户端”。
    • 服务端:1.open ssh提供sh的服务 。 2.open ssl提供加密程序,用于安全加密,远程连接Linux系统。
    • 客户端:xshell

xshell普通用户连接前提

xshell连接前提先确定被连通的远程主机是否开启SSH服务,若没开启SSH服务需先开启;再查看开放SSH服务对应端口;再用ping检测网络互通性;前提须知远程连接机子的ID地址或域名;再要知道连接机子的“用户名”和“用户密码”。

  • service ssh status:查看服务运行状态。
  • service ssh start:远程主机开启ssh服务。
  • netstat -ano |grep 22:查看开放ssh对应端口。
  • ping <kali>:网络能通。
    • ping通谁机子就连谁机子,要知道机子的IP地址或域名。
  • 密码用户账号正确。
    注:如以上无法正常连通,查看虚拟网络服务器是什么模式,“桥接模式可能无法ping通”
    注:普通用户ping远程连接,提权root用户是无法使用查看传输root文件。

xshell管理员连接前提

xshell会话root用户登录,身份验证也要root用户名与密码。连通会话后若会弹出显示“ssh服务器拒绝密码”,则是未满足连通机子的满足条件,所以要让该账号允许远程登录权限,需开启密码配置项,允许该账号密码验证。

  • vim /etc/ssh/sshd_config:打开配置文件进行编辑ssh文件更改。
    • 将 PermitRootLogin without-password(第33⾏) 改为 PermitRootLogin yes 并去掉前⾯的注释符号(#)
    • #PasswordAuthentication yes(第57⾏)的注释去掉,如果是no就改为yes
    • vim编辑器快速找到文本行号“命令模式:33jj ”、“编辑模式:set nu”列出显示行号。
  • 保存并退出(shift+:输⼊wq然后回⻋)
  • 重启ssh服务:service ssh restart

TRAE CN远程连接

TRAE CN同样可做远程连接,支持SSH、WSL协议服务。

  • 操作步骤:打开TRAE CN→左列计算机标识点击远程资源管理器→选择SSH连接目标→SSH连接目标右侧+加号点击弹出窗口→填写远程连接机子(如:ssh 用户名@主机名IP)→ IP连通机子后在SSH连接目标右侧栏中点击“→:当前主机连接窗口 ”→左下角会显示正在打开远程连接,并会弹出窗口填写用户密码,随后激活中间下方并完成显示。
    • TRAE CN在关闭重新开启,会自启动连接远程主机。
    • 快捷键退出远程连接ctrl+D;命令退出exit。

Hydra九头蛇工具

hudra九头蛇工具,这款工具相当于弱口令暴力破解账号密码,是一个强大的网络登录破解工具,可自动化测试,提高效率。且⽀持多种协议,包括HTTP、HTTPS、FTP、SSH、Telnet等。Hydra的特点是能够使⽤多个密码同时进⾏尝试,以加快破解过程。
注:在Kali中的Hydra工具自带无需下载。

  • pydictor生成字典工具:是一个强大的暴力破解生成字典工具,有自己的使用语言,可生成密码。
    • 在Kali中有自带目录字典文件名:cd /usr/share/wordlists
    • 解压字典文件名的压缩包:gunzip 压缩包文件名
    • 查看字典文件内容全部摊开:cat 文件名
    • 不一次性摊开,上下键滚动查看:more 文件名
    • 退出:ctrl+c
  • 操作前提:通过技术手段,得知Kali机子中有SSH协议这个的Kali账号,所以爆破密码要知道通过什么协议去完成 。

使用语法

  • hydra 参数 IP地址 服务名
  • hydra -l ⽤户名 -P 密码字典⽂件 ssh://⽬标IP地址
    • hydra -L users.txt -P passwords.txt ssh://192.168.1.100
      -hydra -l ⽤户名 -P 密码字典⽂件 -s 端⼝号 ssh://⽬标IP地:指定端口

常用命令参数

hydra [-l ⽤户名 或者 –L ⽤户名⽂件路径] [-p 密码 或者 –P 密码⽂件路径] [-t 线程数]默认16 [–vV 显示详细信息] [–o 输出⽂件路径] [–f 找到密码就停⽌] [–e ns 空密码和指定密码试探][ip|-M ip列表⽂件路径]

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询