宇宙级实用 kali linux 命令集合,赶快收藏起来!
·
来自老猫的唠叨
⏰时间:2025.2.25
⚠️记住:未经授权的测试是违法行为,涉及操作均在模拟环境中完成,切勿未经授权用于真实环境。
🙏如有错误望指正,希望我的内容可以帮到您!
🎉欢迎关注🔍点赞👍收藏⭐️留言:📝
1. 系统管理
uname -a #查看系统版本、架构信息

ls #显示当前目录下的文件

cd #切换目录
pwd #显示当前目录

echo #在屏幕显示字符
> #重定向到文件
cat #查看文件内容

man ls #查看ls命令的帮助手册
info ls #同上

sudo -i #切换到root

su - lm #切换到其他用户

exit #退出当前用户,退出命令行

shutdown #一分钟后关机
shutdown -c #取消关机

reboot #重启系统
date #日期时间

timedatectl #查看时区和时间

crontab -l #查看计划任务
crontab -e #编辑计划任务
crontab -r #清空计划任务
* * * * *
- - - - -
| | | | |
| | | | +----- 星期几 (0 - 7) (0 或 7 代表星期日)
| | | +------- 月份 (1 - 12)
| | +--------- 日期 (1 - 31)
| +----------- 小时 (0 - 23)
+------------- 分钟 (0 - 59)

systemctl status sshd #查看服务状态
systemctl [start|stop] httpd #启动|关闭apache服务
systemctl [enable|disable] --now httpd #[启动|关闭]服务并[开机|禁止]自启动

journalctl | grep sshd|head -n2 #显示包含sshd字符的日志信息前两行

2. 网络操作
ifconfig #查看网卡信息

ip a #查看ip地址
ping #检查网络连通性

netstat -antulp #查看网络连接情况
ss -antulp #查看网络连接情况

route #查看路由信息
traceroute #追踪路由路径,显示*表示可能经过了防火墙或nat

curl #获取或发送网络数据
wget #下载网络数据
ssh root@192.168.2.122 #连接ssh服务
scp ./file root@192.168.2.11:/tmp #通过ssh发送本地file文件到目标的tmp目录


ftp 192.168.2.12 #登录目标ftp
telnet #连接telnet对象


nc -zv 192.168.2.128 22 #向目标22端口发送探测
-z:扫描模式,用于扫描监听的端口,不发送数据。
-v:详细模式,显示扫描过程中的详细信息。
192.168.2.128:目标主机的 IP 地址。
22:要扫描的目标端口号

nc -nvlp 5555 #监听端口,常用来接收反弹shell

tcpdump -i any host 192.168.2.128 and port 22 -w capture.pcap
#抓取主机为192.168.2.128,端口22的通信流量并保存到pcap文件,可以用wireshark进行分析
当我们建立监听后尝试连接 ssh 到 192.168.2.128

wireshark capture.pcap #打开流量包分析
可以看到整个请求发起和密钥交换协商不成功后挥手断开的过程


发现是目标的 ssh 版本太旧了,openssh4.7p1,不支持最新的密钥协商机制

kali 的 ssh 版本 9.9p1

ufw enable 启动防火墙
ufw disable # 禁用防火墙
sudo ufw status # 查看规则状态(简略)
sudo ufw status verbose # 查看详细状态(含默认策略)
sudo ufw status numbered # 显示带编号的规则列表(方便删除
sudo ufw reset # 重置所有规则并禁用防火墙(谨慎使用!)
sudo ufw default deny incoming # 默认拒绝所有入站流量
sudo ufw default allow outgoing # 默认允许所有出站流量
sudo ufw allow 80 # 开放 TCP 80 端口(HTTP)
sudo ufw allow 443/tcp # 明确指定 TCP 443 端口(HTTPS)
iptables -A INPUT -p tcp --dport 22 -j ACCEPT #表示添加一条规则,协议tcp,目的端口22,动作是接受,说白了就是允许所有主机连接这台主机的22端口
iptables -A INPUT -p tcp -s 192.168.2.1/24 --dport 22 -j ACCEPT # 只允许得定源ip访问22端口
3.包管理
apt-get update # 更新软件包索引,从软件源获取最新的软件包信息列表
apt-get upgrade # 根据更新后的软件包索引升级已安装的所有可升级软件包到最新版本
apt-get install # 安装指定的软件包,后面需要跟上要安装的软件包名称,例如 apt-get install vim
apt-get remove # 移除指定的已安装软件包,后面跟上要移除的软件包名称,例如 apt-get remove vim
apt-get autoremove # 自动移除不再被任何已安装软件包依赖的软件包
apt-cache search # 在软件包缓存中搜索包含指定关键字的软件包,例如 apt-cache search python
dpkg -i # 安装本地已经下载好的.deb格式的软件包文件,后面跟上.deb文件的路径,例如 dpkg -i package.deb
dpkg -l # 列出已安装的所有软件包及其版本等相关信息
snap install # 安装snap格式的软件包,后面跟上要安装的snap软件包名称,例如 snap install core
4.文件操作
cp 1.txt 2.txt # 复制1.txt到2.txt
mv old_name.txt new_name.txt # 将old_name.txt重命名为new_name.txt
rm file.txt # 删除file.txt文件
mkdir new_directory # 创建名为new_directory的新目录
touch new_file.txt # 创建一个名为new_file.txt的空文件
chmod 755 file.txt # 设置file.txt的权限为所有者可读写执行,组和其他人可读执行
chown user file.txt # 将file.txt的所有者修改为user
chgrp group file.txt # 将file.txt的所属组修改为group
ln -s source_file.txt link_file.txt # 创建source_file.txt的软链接link_file.txt
find /home -name "*.txt" # 在/home目录下查找所有.txt结尾的文件
grep "hello" file.txt # 在file.txt中搜索包含"hello"的行
awk '{print $1}' file.txt # 打印file.txt中的每行第一个字段
sed -i 's/old/new/g' file.txt #将file.txt中的old替换为new
tar -cvf archive.tar file1.txt file2.txt # 将file1.txt和file2.txt打包成archive.tar
gzip file.txt # 将file.txt压缩为file.txt.gz
zip archive.zip file1.txt file2.txt # 将file1.txt和file2.txt压缩成archive.zip
unzip archive.zip # 解压archive.zip
rsync -av /home/lm/ /tmp/ # 以归档模式同步/home/lm/到/tmp/
dd if=/dev/sda of=/dev/sdb bs=4M # 将/dev/sda的内容复制到/dev/sdb,块大小为4M
mount /dev/sda1 /mnt # 挂载/dev/sda1到/mnt目录
umount /mnt # 卸载/mnt上挂载的文件系统
5.进程管理
ps aux | grep nginx # 查看所有进程并过滤出包含 "nginx" 的进程
top -u root # 仅显示 root 用户的进程
htop # 启动交互式进程监控界面
kill -9 2023 # 强制终止 PID 为 2023 的进程(`-9` 对应 `SIGKILL`)
killall -e nginx # 终止所有名为 "nginx" 的进程(`-e` 精确匹配名称)
pkill -9 python # 强制终止所有 Python 进程
pgrep -u root sshd # 查找 root 用户运行的 `sshd` 进程的 PID
nice -n 10 ./script.sh # 以优先级 10 运行脚本(默认新进程优先级为 0)
renice -n 5 -p 2023 # 将 PID 2023 的进程优先级改为 5
jobs -l # 显示作业列表及详细信息(含 PID)
bg %1 # 将作业编号为 1 的进程转到后台运行
fg %2 # 将作业编号为 2 的进程转到前台
pstree -p | grep java # 查看 Java 进程的父子关系
6.用户/权限
sudo useradd -m john # 创建用户 "john" 并生成 /home/john 目录
sudo userdel -r john # 彻底删除用户 "john" 及其家目录
sudo usermod -aG sudo john # 将用户 "john" 添加到 sudo 组(赋予管理员权限)
sudo groupadd developers # 创建名为 "developers" 的组
sudo passwd john # 修改用户 "john" 的登录密码
whoami # 输出当前终端登录的用户名(例如 "ubuntu")
id john # 显示用户 "john" 的 UID、GID 及所属组列表
last # 显示所有用户的登录/注销记录(包括时间、IP 等信息)
lastlog # 列出所有用户最近一次登录的时间
sudo visudo # 使用默认编辑器(如 nano/vim)编辑 /etc/sudoers 文件
sudo adduser alice # 以向导模式创建用户 "alice"(自动创建家目录、设置密码等)
sudo deluser alice # 删除用户 "alice"(默认保留家目录)
更多推荐
所有评论(0)