1. 字符处理
1. 替换不可见字符^@
^为ctrl字符,而 ^@ 等价于 \x0 ,所以替换命令参考如下:
sed -i 's/\x0/\r/g' xxxx
替换为\r,或者\r\n。
2. vim
1. 编辑二进制文件
vim -b xxxx
// 打开文件,-b保护文件,避免vim加入\r等
:%!xxd
// 转为16进制进行编辑
:%!xxd -r
// 转为十进制
:wq
// 保存退出即可
2.vim -r xxx.swp 无法保存文件
问题:
vim -r xxxx.swp文件,然后:w保存,出现如下log:
E212: Can't open file for writing
原因:
源文件缺失等导致源文件无法打开。
解决方式:
新建源文件,如:touch main.rs
vi main.rs -> R 恢复 -> :wq -> rm xxxx.swp
总结:新建同名非备份文件,vi打开,模式选择R恢复,保存退出,删除.swp等临时文件
3. tcpdump
1. 常用操作
# 捕获所有经过 eth0 接口的流量:
tcpdump -i eth0
# 捕获经过 eth0 接口的HTTP流量(端口80):
tcpdump -i eth0 port 80
# 捕获经过 eth0 接口的TCP流量:
tcpdump -i eth0 tcp
# 捕获经过 eth0 接口的从特定IP地址发出的流量:
tcpdump -i eth0 src 192.168.1.100
# 捕获经过 eth0 接口的到特定IP地址的UDP流量:
tcpdump -i eth0 dst 192.168.1.200 and udp
# 捕获经过 eth0 接口的ICMP(ping)流量:
tcpdump -i eth0 icmp
# 捕获经过 eth0 接口的特定端口范围的流量:
tcpdump -i eth0 portrange 80-100
# 将捕获的数据包保存到文件中:
tcpdump -i eth0 -w capture.pcap
# 从文件中读取数据包并分析:
tcpdump -r capture.pcap
# 显示链路层头部信息:
tcpdump -i eth0 -e