Linux系统相关检测与Shell脚本了解
文章目录
- 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:查看当前用户使用的shbash 脚本名:强行用bash执行sh 脚本名:默认用sh执行- 当脚本文件没有sh执行权限,可以
bash或sh自带的执行权限,去执行没有权限的脚本文件。
- 当脚本文件没有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
- 服务端:1.
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中有自带目录字典文件名:
- 操作前提:通过技术手段,得知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列表⽂件路径]