熟悉环境(任务004)

grep

1
grep root /etc/passwd       #搜索显示passwd文件中所包含root单词的一行

macchanger修改Mac地址

改变mac地址的工具,改变之前必须donw掉所修改的网卡,其他Linux系统需要单独安装

Down掉网卡:

1
2
sudo ifconfig enp3s0f3u3u1 down         #卸载网卡
sudo ifconfig enp3s0f3u3u1 up #启用网卡

修改Mac地址:

1
macchanger -m 00:11:11:11:11:11 enp3s0f3u3u1        #修改网卡 enp3s0f3u3u1的mac地址为00:11:11:11:11:11,重启后会变回之前的Mac地址

查看我的主机于外部IP有那些TCP/UDP建立的连接

1
netstat -pantu      #后面的tu代表TCP与UDP的连接全部都显示

修改Linux DNS服务器的文件位置/etc/resolv.conf

查找网络中与自己主机建立连接的IP地址:

1
2
netstat -pantu |egrep -v '0.0.0.0|:::'|awk '{print $5}'|egrep -v 'and|Address'|cut -d ':' -f 1|sort |uniq > MyLinked.txt        

  • egrepgrep的升级版本,用来搜索符合包含条件的行
  • awk '{print $5}' 显示筛选某一列,后面的内容显示筛选第五列的内容
  • egrep -v 'and|Address' 加-v筛选不包含字符串的行,此命令不包含有and或者Address的行
  • cut -d ':' -f 1 切割以字符:分列,只显示第一列
  • sort排序IP地址,将一样的IP显示在一起
  • uniq显示删除重复的IP
  • > MyLinked.txt 将内容输入覆盖到MyLinked.txt中去,如果输入两个>则不会之前的内容覆盖掉

mount

1
2

mount #直接使用此命令可显示当前已经挂载的设备

在Linux上使用虚拟光驱

1
mount -o loop kail.iso /media/cdrom     #将镜像文件挂载到/media/cdrom目录下

dmesg 查看系统变更

系统变更,比如拔掉网卡会显示在/var/log/messages中

1
sudo dmesg      #也叫做读取内核缓冲区

find命令查找文件

1
sudo find / -iname -name nmap      #从/目录下开始查找含有nmap的文件/目录,-iname 忽略大小写

find 命令

1
find . -name "鬼*" -exec cp {} ../{}.bat \;        #发现本目录下的所有名称开头包含“鬼”的文件或者目录,-exec执行其他命令,以上执行的是cp命令,其中{}是指之前找查到的文件或者目录进行拷贝到../下,再以.bat文件命名结尾

注意:find命令查询出的文件不能拷贝在隐藏文件中的文件或者目录

whereis

这个命令会比之前的find命令执行更快,原因是因为安装软件时使用的包管理器安装会生成一个数据库,专门记录已安装的软件的目录,如果有就会查找出来

1
whereis vim 

如果找不到,则需要安装mlocate软件,执行:

1
sudo updatedb       #更新数据库

shell脚本语言基础

打印99乘法表

1
2
3
4
5
6
7
8
9
# /bin/bash
for n in `seq 9` #seq 执行打印从从1-9
do
for m in `seq $n`
do
echo -n "$m*$n="`expr $m \* $n` " " #字符串长度、位置、截取操作,数的四则运算,*号要加反斜杠
done
echo
done

ping获取局域网中活着的主机

1
2
3
4
5
# /bin/bash
for n in `seq 254`
do
ping 172.17.62.$n -c 1|grep ttl |awk '{print $3}'|awk -F : '{print $1}' #awk前面有说明,-F自定义截取符号(默认空格)
done

端口ping文件ip中的ip和端口号

ip文件中的内容:

1
2
3
4
5
6
7
8
fuding.qicp.vip
202
808
88
www.baidu.com
80
443

测试一个主机的结果:

fuding@Immortal:~/Software/ > nmap -p 808 -sV fuding.qicp.vip 
Starting Nmap 7.91 ( https://nmap.org ) at 2021-03-07 20:38 CST
Nmap scan report for fuding.qicp.vip (222.90.48.81)
Host is up (0.00015s latency).

PORT    STATE SERVICE       VERSION
808/tcp open  ccproxy-http?

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 42.87 seconds
1
2
3
4
5
6
7
8
9
10
11
12
# /bin/bash
A=`cat ip`
for B in $A
do
n=`echo $B|wc -L`
if [ $n -gt 6 ] ; then
ip=$B
else
port=$B
nmap -p $port -sV $ip |grep -v Starting|grep -v PORT|grep -v Service|grep -v done
fi
done

运行后结果:

fuding@Immortal:~/Software/ > ./pingProt.sh
Nmap scan report for fuding.qicp.vip (222.90.48.81)
Host is up (0.00017s latency).

202/tcp open  ssh     OpenSSH 7.9p1 Debian 10+deb10u2 (protocol 2.0)

Nmap scan report for fuding.qicp.vip (222.90.48.81)
Host is up (0.00015s latency).

808/tcp open  ccproxy-http?

Nmap scan report for fuding.qicp.vip (222.90.48.81)
Host is up (0.00019s latency).

88/tcp open  http    Apache httpd

Nmap scan report for www.baidu.com (14.215.177.39)
Host is up (0.00015s latency).
Other addresses for www.baidu.com (not scanned): 14.215.177.38

80/tcp open  http    Apache httpd

Nmap scan report for www.baidu.com (14.215.177.39)
Host is up (0.00015s latency).
Other addresses for www.baidu.com (not scanned): 14.215.177.38

443/tcp open  ssl/http Apache httpd

网络配置、更新、安装、浏览器插件(任务005)

网卡配置&Route命令的使用

网卡配置IP与掩码:

1
ifconfig eth0 192.168.1.1/24        #网关使用默认路由配置

Linux内核路由种类:

  • 主机路由:路由表中指向单个 IP 地址或主机名的路由记录,其 Flags 字段为 H。

    1
    route add -net 10.0.0.10 netmask 255.255.255.255 gw 10.139.128.1 dev eth0       #只用来相互通讯于另一网络中的主机
  • 网络路由:主机可以到达的网络。下面示例中,对于 192.168.1.0/24 这个网络,通过网关 192.168.1.1 网关路由

    1
    route add -net 10.0.0.0 netmask 255.255.255.0 gw 10.139.128.1 dev eth0
  • 默认路由:当目标主机的 IP 地址或网络不在路由表中时,数据包就被发送到默认路由(默认网关)上。

    1
    route add default gw 172.17.62.254     #添加默认路由

查看系统路由表:

1
2
route -n        #或者:
netstat -nr

删除路由表直接将add改为del,去掉del项即可删除。

个人电脑系统的路由表:

fuding@Immortal:~/ > route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         172.17.62.254   0.0.0.0         UG    100    0        0 enp3s0f3u3u1
172.17.62.0     0.0.0.0         255.255.255.0   U     100    0        0 enp3s0f3u3u1

各字段说明:

字段 含义
Destination 目标网络或目标主机。Destination 为 default(0.0.0.0)时,表示这个是默认网关,所有数据都发到这个网关(这里是 10.139.128.1)
Gateway 网关地址,0.0.0.0 表示当前记录对应的 Destination 跟本机在同一个网段,通信时不需要经过网关
Genmask Destination 字段的网络掩码,Destination 是主机时需要设置为 255.255.255.255,是默认路由时会设置为 0.0.0.0
Flags 标记,含义参考表格后面的解释
Metric 路由距离,到达指定网络所需的中转数,是大型局域网和广域网设置所必需的 (不在Linux内核中使用。)
Ref 路由项引用次数 (不在Linux内核中使用。)
Use 此路由项被路由软件查找的次数
Iface 网卡名字,例如 eth0

Flags 含义:

  • U 路由是活动的
  • H 目标是个主机
  • G 需要经过网关
  • R 恢复动态路由产生的表项
  • D 由路由的后台程序动态地安装
  • M 由路由的后台程序修改
  • ! 拒绝路由

注意添加网络或者网关主机一定要网络可达,才可以添加成功!!

修改DNS的文件:/etc/resolv.conf
永久修改网卡配置:/etc/network/interfaces (各个发行版可能不一样)

忘记密码

此方式适用于大部分Linux系统,比如CentOS,Redhat等…
更改后无需担心改错,如果改错重启后还会恢复以前原有的代码。

一些新的版本的linux发行版以下内容可能差距略大,此行改成如图rw 以后的内容一致即可

重启系统,不断的按“e”键进入编辑模式(Grub暂留时间一定不能设置为0),把其中的 ro 改成 rw, 并删除 .gz 后面的 quite, 替换成 init=/bin/bashinit=/bin/zsh(如果有),再删除后面的内容,保持本行后面没有其他代码,不然会提示找不到/bin/bash,更改完成后按F10进行保存重启。

更改后如下所示:

更改编辑模式结果

再次重启进入root的命令行界面,输入以下进行改root密码:

1
passwd [用户名]