文章目录
- 常用命令
- **apt相关**
- **ls**:
- **cd**
- **cp**
- **ls -l | grep ssh**:会列出当前目录中包含 “ssh” 的文件或目录的详细信息。
- **系统资源**
- linux路由相关
- 抓包工具和命令
- tcpdump
- wireshark
- tshark
- iperf
常用命令
- 通过上下方向键 ↑ ↓ 来调取过往执行过的 Linux 命令;
- Ctrl + D:关闭 Shell 会话;
- man +所以命令:可以查看该命令的详细信息
- pwd:显示当前路径
- cat data.txt 查看data.txt的内容并显示在终端上
- tar -xf 1.tar 解压1.tar文件
- touch new_file:创建一个文件
- mkdir new_folder:创建一个目录
- rm new_file --> 删除 new_file 文件rm f1 f2 f3 --> 同时删除 f1 f2 f3 3个文件
- mv file one --> 将 file 文件移动到 one 目录下
- shift+pageup 在终端记录向上翻页
- shift+pagedown 在终端记录向下翻页
- wc -l:统计文件的行数。
- wc -w:统计文件的单词数(单词以空格、制表符或换行符分隔)
apt相关
- sudo apt update : APT会访问配置的APT源地址,下载最新的软件包列表文件,确保 apt upgrade 能够安装最新的软件。
- apt upgrade 根据 apt update 下载的包信息来决定需要升级哪些包 (实际更新)
- apt install 安装指定的软件包。如果该包已在APT源中列出,APT会下载并安装该包。
- apt remove 卸载指定的软件包,但保留其配置文件
ls:
● -a 显示所有文件和目录包括隐藏的
● -l 显示详细列表
● -h 适合人类阅读的
● -t 按文件最近一次修改时间排序
● -i显示文件的 inode ( inode 是文件内容的标识)
cd
● cd / --> 跳转到根目录
● cd etc:这是相对路径,它将你切换到当前目录下的 etc 目录
● cd … -->跳转到上级目录
● cd --> 不添加任何参数,也是回到家目录,但如果是root用户,是回到根路径的, 在 Windows 中,这通常是C:\Users\你的用户名;在 Linux 中,通常是 /home/你的用户root文件下
● cd/etc:这是绝对路径,它将你切换到根目录下的 etc 目录,指定完整的目录路径来切换到目标目录
cp
● cp file file_copy --> file 是目标文件,file_copy 是拷贝出来的文件
● cp file one 把 file 文件拷贝到 one 目录下,并且文件名依然为 file
● cp file one/file_copy --> 把 file 文件拷贝到 one 目录下,文件名为file_copy
ls -l | grep ssh:会列出当前目录中包含 “ssh” 的文件或目录的详细信息。
- |(管道符号): ● 管道符号用于将一个命令的输出传递给另一个命令作为输入。 ● 在这里,ls -l 的输出将作为 grep ssh 命令的输入。
系统资源
ps
-Al 显示所有进程的详情和进程名称
-aux 显示所有进程和其启动命令
-ef 也是显示所有进程,只是信息有所不同,这个能看ppid
top
ps命令只看到的是命令执行瞬间的进程信息,而top可以持续的监视。ps只是查看进程,而top还可以监视系统性能,如平均负载,cpu和内存的消耗。另外top还可以操作进程,如改变优先级(命令r)和关闭进程(命令k)
ps主要是查看进程的,关注点在于查看需要查看的进程,而top主要看cpu,内存使用情况,及占用资源最多的进程由高到低排序,关注点在于资源占用情况
hop
ps命令只看到的是命令执行瞬间的进程信息,而top可以持续的监视。ps只是查看进程,而top还可以监视系统性能,如平均负载,cpu和内存的消耗。另外top还可以操作进程,如改变优先级(命令r)和关闭进程(命令k)
ps主要是查看进程的,关注点在于查看需要查看的进程,而top主要看cpu,内存使用情况,及占用资源最多的进程由高到低排序,关注点在于资源占用情况
ss -s 或 netstat -an | grep ESTABLISHED | wc -l
来查看当前网络连接数,特别是 ESTABLISHED 状态的连接数,
free -h
用于显示系统的内存使用情况。
linux路由相关
ip 命令(现代系统)和 route 命令(旧系统)。
ip
更新路由: sudo ip route replace 192.0.220.0/24 via 192.0.220.10 dev port100020 metric 10
添加路由:: ip route add [目的网络] via [网关地址] dev [接口]
删除路由: sudo ip route del
ifconfig 端口多ip只能显示出来一个ip
ip addr更详细
route
查看路由表: ip route 比route-n详细 ip route show dev [接口]
添加路由: route add -net [目的网络] netmask [子网掩码] gw [网关地址] dev [接口]
arp
显示 ARP 缓存: arp -n
添加 ARP 静态条目: arp -s [IP地址] [MAC地址]
删除指定的 IP 地址的ARP 条目: arp -d [IP地址]
清空 ARP 缓存: ip neigh flush all
抓包工具和命令
tcpdump
tcpdump -i eth0 dst host 10.0.0.21: 这将捕获所有目标IP地址为 10.0.0.21 的数据包。
tcpdump -i eth0 icmp: 筛选eth0端口的icmp包 tcpdump -nni port300781 icmp
tcpdump -nni any icmp: 抓该节点所有端口的icmp包 tcpdump -nni
tcpdump -nni port300781 icmp -w test.pacp: 抓取的数据包保存到文件 test.pcap 中 ,导入到wireshark进行分析
wireshark
基本使用以后有时间再总结;
下面介绍常见的一些抓包遇到的情况:
1、
2、
3、
4、Window Full
61622 109.780413297 10.0.0.1 10.0.0.9 openFlow 194 [TCP Window Full] Type: OFPT EXPERIMENTER
是指的发送端发送的数据已经达到的接受窗口的上限。
继而停止发送,等待新的接收窗口的通告
此时接收端返回的是TCP zero window,表示接收端窗口为0
openflow:表示这个数据包是openflow协议, "TCP Window Full"指示符通常表示接收端的TCP接收缓冲区已满。这意味着接收端已经接收了所有能够接收的数据,并且其接收窗口已满,无法再接收更多的数据,直到一些数据被应用程序处理并从缓冲区中移除。 :发送端会根据接收端的接收窗口大小来控制发送的数据量。当接收端的接收窗口为零时,发送端将停止发送新的数据,直到接收端的缓冲区有更多空间。
5、Zero Window
Zero Window(0窗口)指的是 TCP 发送方的滑动窗口大小为0,其本质上是因为 TCP 接收方的接收缓存已经满了,没有空间再接收数据。当处于 Zero Window 时,TCP 发送方是不能向对方发送数据的——即使发送也会被对方给怼回来
Zero Window(0窗口)指的是 TCP 发送方的滑动窗口大小为0,其本质上是因为 TCP 接收方的接收缓存已经满了,没有空间再接收数据。当处于 Zero Window 时,TCP 发送方是不能向对方发送数据的——即使发送也会被对方给怼回来
6、TCP ACKed unseen segment
7、TCP Previous segment not captured
[TCP Previous segment not captured]报文指的是在TCP发送端传输过程中,该Seq前的报文缺失了。一般在网络拥塞的情况下,造成TCP报文乱序、丢包时,会出现该标志。
需要注意的是,[TCP Previous segment not captured]解析文字是wireshark添加的标记,并非TCP报文内容。
例子:
流媒体服务器39.135.135.81,端口80,发送序号Seq=147154的包,长度Len=1360,那么下一个数据包序号应该为Seq=147154+1360=148514,可以看到客户端请求的也是Ack=148514。而服务器下一个包序号为Seq=149874,中间的包丢失了。
8,RST
TCP异常终止的情形
tshark
iperf
Iperf是一个网络性能测试工具。Iperf可以测试TCP和UDP带宽质量。Iperf可以测量最大TCP带宽,具有多种参数和UDP特性。
iperf -s -p 12345 -i 1 -M 1460
iperf -c 10.0.0.1 -p 9190 -i 1