kali视频学习笔记

DAY1 系统安装

1. 用u盘烧录KALI镜像,不含live开头,含amd64,4G
2. 用u盘启动安装图形界面,选简单中文-汉语,默认KFCE,全工具
3. 改密码,sudo passwd root ,原密,新密,新密,注销用root登陆,改win10样式
4. 装五笔,apt update,apt-get install fcitx fcitx-table-wubi,reboot
5. 1 在linuxgame.cn下载cs1.6
6. 2 dpkg all wine32 --add-architecture i386 && apt-get update && apt-get inst
7. 3 dpkg-reconfigure locales装en_US.UTF-8并选为默认,双击打开
8. 1 在linuxgame.cn下载pal98
9. 2 chmod +x ./sdlpal-linux
10. 3 ./sdlpal-linux打开
11. 1下载vscode,apt install ./code_1.54.3-1615806378_amd64.deb
12. 2 打开vscode,装中文插件,测试md文件与python文件运行,注意用python3命令
13. 3 文件-首选项-设置-Terminal>Integrated:Font设置为Hack,'Courier New',monospace
14. 配一张图结束DAY1

在这里插入图片描述

DAY2 基本操作

ls -alh --sort=time,含.隐蒧文件,列表,最佳单位,按时间排序,time改size按大小排序
cd ..,切换至父路径
pwd,显示当前路径
cat /etc/passwd,显示文件内容
more /etc/passwd,换页显示文件内容
less /etc/passwd,同上但不会显示百分比,q退出
head -1 /etc/passwd,显示文件头一行
tail -1 /etc/passwd,显示文件末一行
watch -n 2 tail -20 /var/log/messages,每两秒刷新,ctrl+c退出
dmesg,同cat /var/log/messages
touch 1.txt,创建空文件
cp 1.txt 2.txt,复制文件
rm 2.txt,删除文件
mkdir 123,创建路径
rm -r 123,删除路径
top,当前系统资源使用情况
ps -ef,进程信息,e所有,f详细
ps aux,功能同上,有列顺序区别
grep ssh /etc/passwd,选文件中含关键词的行
ifconfig,网络配置信息
ifconfig eth0 down,卸网卡
macchanger -m 00:11:11:11:11:11,改ip(仅本次登陆有效)
ifconfig eth0 up,装网卡
netstat -pantu,查看tcp与udp连接
netstat -pantu | egrep -v '0.0.0.0|:::',同上但去掉含在有0.0.0.0与:::的行
netstat -pantu | egrep -v '0.0.0.0|:::' | awk '{print $5}',只显示第五列的内容
netstat -pantu | egrep -v '0.0.0.0|:::' | awk '{print $5}' | egrep -v 'and|Address',再去掉含有and与
Address的行
netstat -pantu | egrep -v '0.0.0.0|:::' | awk '{print $5}' | egrep -v 'and|Address' | cut -d ':' -f 1,
以:分隔取第一块即IP
netstat -pantu | egrep -v '0.0.0.0|:::' | awk '{print $5}' | egrep -v 'and|Address' | cut -d ':' -f 1 
| sort | uniq,排序并去掉重复
netstat -pantu | egrep -v '0.0.0.0|:::' | awk '{print $5}' | egrep -v 'and|Address' | cut -d ':' -f 1 
| sort | uniq > 1.txt,覆盖写入文件
netstat -pantu | egrep -v '0.0.0.0|:::' | awk '{print $5}' | egrep -v 'and|Address' | cut -d ':' -f 1 
| sort | uniq >> 1.txt,追加写入文件
mount,查看挂载信息
mount -o loop kali.iso /media/cdrom,挂载iso
find / -name nmap,找出系统中所有叫namp的文件
find / -iname nmap,找出系统中所有叫namp的文件,且不区分大小写
find . -name "1*",找出当前路径中以1开头的文件
find . -name "1*" -exec cp {} ./{}.bak \;  ,复制到当前目录下并重命名为末尾.bak,\;表示-exec语句结束 
echo 123,输出123,详见shell教程
cd aaa & ls,管道符&表示依次执行,有错也继续
cd aaa && ls,管道符&&表示依次执行,有错终止
updatedb,更新数据库让whereis查找
whereis nmap,找出通过deb包安装的程序
whereis -b nmap,找出名称叫nmap的二进制可执行文件
deb包:用dpkg -i安装,用于ubuntu与debian(kali),apt可以自动安装deb包需要的依赖,apt即Advanced Package Tool
rpm包:用rpm安装,用于red-hat与centos,yum可以自动安装rpm包需要的依赖,rpm即Red-hat Package Manager
源码包:./configure,make,make install,三步曲安装,用于全linux系统
-----------------------------------------------------------------------
tree			查看当前目录树
sync			数据同步到硬盘
halt			立即关机
shutdown -h now		同上
shutdown -h 20:25	指定时间关机
shutdown -h +10		十分钟后关机
reboot			立即重启
shutdown -r now		同上
shutdown -h 20:25	指定时间重启
shutdown -r +10		十分钟后重启

DAY3 网络配置

//自动获取DHCP地址:eth0是网卡名称
dhclient eth0
//查看现在的路由表
netstat -nr
//手动设置地址并添加路由:default是默认路由0.0.0.0,gw是网关
ifconfig eth0 192.168.1.11/24
route add default gw 192.168.1.1
//查看现在的路由表
route -n
//添加网段
route add -net 192.168.1.0/24
//写入配置文件
echo nameserver 192.168.1.1 > /etc/resolv.conf
//修改ip配置文件
vim  /etc/network/interfaces
//esc,:wq,enter,重启生效

DAY4 更新包

vim /etc/apt/sources.list
deb http://mirrors.ustc.edu.cn/kali kali main non-free contrib
deb-src http://mirrors.ustc.edu.cn/kali kali main non-free contrib
deb http://mirrors.ustc.edu.cn/kali-security kali/updates main non-free
apt-get update
apt-get upgrade
apt-get dis-upgrade改
如果重启后提示变英语,记住不要变
不幸变了的修改方法,tzselect选上海,dpkg-reconfigure locales,像选CS那样重新选再重启

DAY5 系统软件

Media Player:apt-get install smplayer
软件包安装程序:apt-get install gdebi
差异查看器: apt-get install meld
CHM viewer:apt-get install kchmviewer
FTP client:filezilla filezilla-common
My traceroute:apt-get install mtr
微软字体:apt-get install ttf-wqy-microhei
!!!!这个实在太重要了,可以打开OD没乱码,运行wine notepad.exe也没乱码,可以正确执行exe程序

DAY6 火狐插件

cookie importer
cookiemanager:管理cookie
flagfox:显示站点国家
hackbar:页面F9操作跨站及sql注入
live http headers:查看http包包头
user agent switcher:更改浏览器类型

DAY7 安装JAVA

下载地址:https://www.oracle.com/java/technologies/javase-downloads.html
下载JDK:jdk-8u281-linux-x64.tar.gz
cd /root/下载
tar -xzvf jdk-8u281-linux-x64.tar.gz
mv jdk1.8.0_281 /root/programme/JDK8
cd /root/programme/JDK8
vim ~/.zshrc
  # install JAVA JDK
  export JAVA_HOME=/root/programme/JDK8/jdk1.8.0_281
  export CLASSPATH=.:${JAVA_HOME}/lib
  export PATH=${JAVA_HOME}/bin:$PATH
source ~/.zshrc
update-alternatives --install /usr/bin/java java /root/programme/JDK8/jdk1.8.0_281/bin/java 1
update-alternatives --install /usr/bin/javac javac /root/programme/JDK8/jdk1.8.0_281/bin/javac 1
update-alternatives --set java /root/programme/JDK8/jdk1.8.0_281/bin/java
update-alternatives --set javac /root/programme/JDK8/jdk1.8.0_281/bin/javac
update-alternatives --set java /root/programme/JDK8/jdk1.8.0_281/bin/java
update-alternatives --set javac /root/programme/JDK8/jdk1.8.0_281/bin/javac
java -version
javac -version
-----------------------------------------------------
使用javac与java时如果有警告,执行unset _JAVA_OPTIONS即可
或者vim /etc/profile把上面那行指令加到最后再source /etc/profile  

DAY8 安装办公软件----

安装libreoffice:
apt-get install libreoffice-l10n-zh-cn

安装mysql:
sudo apt-get install mysql-server
sudo mysql_secure_installation
输入密码abccba两次回车确认
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : y
Remove anonymous users? (Press y|Y for Yes, any other key for No) : n
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : n
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y
sudo mysql -uroot -p
abccba [enter]
exit 退出

安装花生壳:
在官网https://hsk.oray.com/download/下载deb文件
在下载目录打开命令行执行sudo dpkg -i phddns-5.0.0-amd64.deb 
看官网https://service.oray.com/question/11630.html教程
网页端初次登陆用安装时的SN码登陆管理端,之后微信扫码登陆
本地phddns start运行,运行django等即可

安装sqlite3:
sudo apt-get install sqlite3
驱动->数据库->数据表->属性->数据
sqlite3
.open test.db
.table
.schema users
select * from users;
.exit

DAY9 并发线程限制

ulimit -a,可以看到所有限制,以及参数
ulimit -s 100,可以限制每个线程的堆栈大小是100KB,控制台执行仅临时生效
vim ~/.zshrc,把上一行加到最后,保存退出,永久生效

DAY10 服务开关

/etc/init.d/ssh start
netstat -pantu | grep :22
/etc/init.d/ssh stop
netstat -pantu | grep :22
注意:kali默认未启动所有网络服务
update-rc.d A defaults 80 20
update-rc.d B defaults 90 10
上面两行功能:开机时A服务优先于B启动,关机时B服务优先于A关闭

DAY11 shell

理解:linux指令其实就是shell编程语句
有点类似python可以有交互式控制台那样



1局部变量
vim cjshell.sh
	#!/bin/bash
	echo "hello,world!"
	echo "PATH=$PATH"
	echo "USER=$USER"
	echo "SHELL=$SHELL"
	echo "PWD=$PWD"
	echo "HOME=$HOME"
	a=3
	echo "$a"
	unset a
	echo "$a"
	readonly b=3
	#unset b
	c=$a+$b
	echo "$c"
	RESULT=`ls -l /home`
	echo "$RESULT"
	echo ""
	echo "$(date)"
	:<<!
		this is the comment
	!
sh ./cjshell.sh
输出成功
不用sh的输出写法如下:
chmod 777 cjshell.sh
./cjshell.sh或/root/cjfile/cjshell.sh



2全局变量:
vim /etc/profile
	在文末添加
	cj_variable=3
	export cj_variable
source /etc/profile
echo $cj_variable
vim gjlshell.sh 
	#!/bin/bash
	echo "$cj_variable"
sh ./gjlshell.sh 
输出成功
【如果无export cj_variable】
【上面的echo也可以成功输出】
【但若是.sh文件执行就不能】



3位置变量:
vim love.sh
	#!/bin/bash
	echo $0
	echo $1
	echo $2
	echo $*
	echo $@
	echo $#
sh love.sh 100 200
关于$*与$@的不同见下例:
vim tt.sh
	#! /bin/bash
	test() {
        	echo "未加引号,二者相同"
        	echo $*
       		echo $@
        	echo "加入引号后对比"
		echo "----"\$*----""
        	for N in "$*"
        	do
        	   echo $N
        	done
		echo "----"\$@----""
        	for N in "$@"
        	do
        	   echo $N
        	done
	}
	test  11 22 33
sh tt.sh
	未加引号,二者相同
	11 22 33
	11 22 33
	加入引号后对比
	----$*----
	11 22 33
	----$@----
	11
	22
	33



4预定义变量
echo $$	当前进程PID
echo $!	后台最后一个进程的PID
echo $?	最后一次执行命令的返回态(0正常)
示例:
vim love.sh
	#!/bin/bash
	echo $$
	sh ./gjlshell.sh &
	echo $!
	echo $?
vim gjlshell.sh
	#! /bin/bash
	echo "go"
sh ./love.sh
输出成功



5运算
#! /bin/bash
a=1
b=2
echo $((4*($a+$b)))
echo $[4*($a+$b)]
tmp=`expr $a + $b`
echo `expr $tmp \* 4`
【总结:用第二种即可,即$[]】
【注意:echo 4*(3+2)会输出字符串】
【原因:$[]可以对[]里面的式求值】
echo 4*(3+2)
echo $[4*(3+2)]
上面的数字随机可以改为 $变量名



6流程
=等
-lt小
-lt小等
-eq等
-gt大
-ge大等
-ne不等
-r可读
-w可写
-x可执行
-f存在文件
-d存在目录
-e存在文件或目录
【其实目录也是文件,我这么说是为了好理解】

vim gjlshell.sh

#! /bin/bash
if [ $1 = "cj" ]
then
        echo "111"
fi
if [ $2 -gt 60 ]
then
        echo "222"
elif [ $2 -lt 60 ]
then
        echo "333"
fi
if [ -f "head_sculpture.jpg" ]
then
        echo "444"
fi
for i in "$*"
do
        echo $i
done
for i in "$@"
do
        echo $i
done
sum=0
for (( i=1;i<=100;i++  ))
do
        sum=$[$sum+$i]
done
echo $sum
i=0
sum2=0
while [ $i -le $2 ]
do
        sum2=$[$sum2+$i]
        i=$[$i+1]
done
echo $sum2

sh ./gjlshell.sh cj 61



7交互
read(选项)(参数)
-p指定读取值提示符
-t指定读取等待时间
vim love.sh

read x
echo $[$x+1]
read -p "input please:" y
echo  $[$y+1]
read -t 3 z
echo $z+"zz"+3 

sh ./love.sh 



8函数
basename /home/aaa/test.txt
返回test.txt
basename /home/aaa/test.txt .txt
返回test
dirname /home/aaa/test.txt
返回home/aaa

function funname(){
	Action;
	return int;
}
示例:
vim cjshell.sh

#! /bin/bash
function cj_max(){
        echo "cj";
}
cj_max

function cj_add(){
        echo $[$x+$y];
        return $[$x+$y+10];
}
read x
read y
cj_add $x $y
echo $?

sh ./cjshell.sh



9计划
vim /root/cjfile/plan.sh
#!/bin/bash
date >> /root/cjfile/test3.txt
echo "cj" >> /root/cjfile/test3.txt

crontab -e
* * * * * ls -al /root/cjfile/ >> /root/cjfile/test1.txt
* * * * * date >> /root/cjfile/test2.txt
* * * * * . /root/cjfile/plan.sh

-e是编加的意思
第一个*表示时中第几分,0-59
第二个*表示天中第几时,0-23
第三个*表示月中第几天,1-31
第四个*表示年中第几月,1-12
第五个*表示周中星期几,0-7(0与7都是周日)
【如果是*表示全选所有值都执行】

例一:每天三点与八点执行一次 /bin/ls:
* 3,8 * * * /bin/ls
例二:在 12 月内, 每天的早上 6 点到 12 点,每隔 3 个小时 0 分钟执行一次 /usr/bin/backup:
0 6-12/3 * 12 * /usr/bin/backup
例三:周一到周五每天下午 5:00 寄一封信给 alex@domain.name:
0 17 * * 1-5 mail -s "hi" alex@domain.name < /tmp/maildata
例四:每月每天的午夜 0 点 20 分, 2 点 20 分, 4 点 20 分....执行 echo "haha":
20 0-23/2 * * * echo "haha"

对了,&
  • 2
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值