记录一下测试时常用的命令

1.docker常用命令

测试中用到的docker命令:####

1
2
3
4
5
6
7
8
service docker start  #开启docker
docker ps #查看docker正在运行的容器
Docker start 容器ID #启动容器

#docker访问外部网络,上位机连接前要检查
sysctl net.ipv4.ip_forward
#如果为 0,说明没有开启转发,则需要手动打开
sysctl -p

docker常用命令大全:####

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#info
docker info #显示docker的系统信息,包括镜像和容器的数量
docker version #显示docker的版本信息。

#镜像命令
docker images #查看所有本地主机上的镜像 可以使用docker image ls代替
docker search #搜索镜像
docker pull #下载镜像 docker image pull
docker rmi #删除镜像 docker image rm

#容器命令
docker run 镜像id #新建容器并启动
docker ps 列出所有运行的容器 docker container list
docker rm 容器id #删除指定容器
#删除所有容器
docker rm -f $(docker ps -aq) #删除所有的容器
docker ps -a -q|xargs docker rm #删除所有的容器
#启动和停止容器
docker start 容器id #启动容器
docker restart 容器id #重启容器
docker stop 容器id #停止当前正在运行的容器
docker kill 容器id #强制停止当前容器
#退出容器
exit #容器直接退出
ctrl +P +Q #容器不停止退出 ---注意:这个很有用的操作

#其他常用命令
docker exec #在运行的容器中执行命令
docker export #将文件系统作为一个tar归档文件导出到STDOUT
docker import #从归档文件中创建镜像
docker kill #杀掉一个运行中的容器
docker save #将指定镜像保存成 tar 归档文件
docker load #导入使用 docker save 命令导出的镜像

docker run -d 镜像名 #后台启动命令
docker logs #查看日志
docker top 容器id #查看容器中进程信息ps
docker inspect 容器id #查看镜像的元数据
docker attach # 进入容器正在执行的终端
docker cp 容器id:容器内路径 主机目的路径 #从容器内拷贝到主机上

2.关于进程、端口命令

僵尸进程

1
2
3
4
top 查找僵尸进程
ps -A -ostat,ppid,pid,cmd |grep -e '^[Zz]' 定位僵尸进程
Kill -HUP 父id(可能会杀掉app.py)
netstat

netstat常用命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
netstat -a #列出所有端口 
netstat -at #列出所有 tcp 端口
netstat -au #列出所有 udp 端口

netstat -anp | grep 进程号 #查询进程号所占用的端口

netstat -tunlp | grep 端口号 #查看端口对应的进程,用于排查端口号是否被占用

netstat -anp | grep 端口号 #查看端口的使用情况

#列出所有处于监听状态的 Sockets
netstat -l #只显示监听端口
netstat -lt #只列出所有监听 tcp 端口
netstat -lu #只列出所有监听 udp 端口
netstat -lx #只列出所有监听 UNIX 端口


netstat -s #显示所有端口的统计信息
netstat -st 或 -su #显示 TCP 或 UDP 端口的统计信息

netstat -pt #显示pid和进程

3.VNC

1
2
3
4
5
6
7
8
9
10
11
#启动VNC
vncserver :1
vncserver :2


#停止vncserver
vncserver -kill :1
vncserver -kill :2

#重启服务
service vncserver restart

4.抓包

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#开启中间人
ettercap -i eth0 -T -q -M ARP:remote //ip1/ /ip2//

#列出可以抓包的网络接口:
sudo tcpdump -D

#tcpdump抓包
#抓取所有的经过eth0网卡的网络包,并存到result.cap 文件中
tcpdump -i eth0 -w result.cap

#抓取源地址是192.168.1.100的包,并将结果保存到 result.cap 文件中
tcpdump src host 192.168.1.100 and dest host 192.168.1.100 -w result.cap

#抓取源ip是192.168.1.100且目的端口是22,或源ip是192.168.1.102且目的端口是80的数据包
tcpdump -i eth0 -vnn ( src host 192.168.1.100 and dst port 22 ) or ( src host 192.168.1.102 and dst port 80 )

#把抓取的数据包记录存到/tmp/result文件中,当抓取100个数据包后就退出程序
tcpdump –i eth0 -vnn -w /tmp/result -c 100

#如果想要获取主机192.168.1.100除了和主机192.168.1.101之外所有主机通信的ip包
tcpdump ip host 192.168.1.100 and ! 192.168.1.101

5.扩容

新建虚拟机时分配的磁盘空间不够大,导致用了一段时间会显示根目录空间不足;
以ubuntu 20.04为例,扩充磁盘空间
关闭虚拟机,编辑虚拟机设置,扩展硬盘;

1
2
3
df -h		#查看系统容量相关的数据
sudo apt-get install gparted
sudo gparted

调整大小,并应用全部;