分类 linux 下的文章

查询是否安装tcpdump

rpm -ql tcpdump

安装tcpdump

yum install tcpdump

指定网卡信息

tcpdump -i eth0 udp port 694 -n

指定端口

tcpdump -i eth0 tcp port 8088 -n 
tcpdump -i eth0 port 8080 -vvne -w /tmp/tcpdump.pcap

指定抓包数量

tcpdump -i eth0 port 8088 -c 3 -t -w /tmp/tcpdump.pcap

两台主机之间通信抓包

tcpdump host 192.168.0.204 and 192.168.0.205

根据来源和目标地址抓包

tcpdump -i eth0 src host 192.168.0.235 # src指定来源
tcpdump -i eth0 dst net 192.168.0.0/24 # dst指定目标地址,net指定网段
tcpdump tcp -i eth1 -t -s 0 -c 100 and dst port ! 22 and src net 192.168.1.0/24 -w ./target.cap

在K8S宿主机上抓包

docker ps | grep xxx 
docker inspect 容器ID | grep Pid 
nsenter -t Pid值 -n tcpdump -i eth0 host 127.0.0.1 and port 80 -vvne -w /tmp/tcpdump.pcap 

参数:

(1)tcp: ip icmp arp rarp 和 tcp、udp、icmp这些选项等都要放到第一个参数的位置,用来过滤数据报的类型
(2)-i eth1 : 只抓经过接口eth1的包
(3)-t : 不显示时间戳
(4)-s 0 : 抓取数据包时默认抓取长度为68字节。加上-S 0 后可以抓到完整的数据包
(5)-c 100 : 只抓取100个数据包
(6)dst port ! 22 : 不抓取目标端口是22的数据包
(7)src net 192.168.1.0/24 : 数据包的源网络地址为192.168.1.0/24
(8)-w ./target.cap : 保存成cap文件,方便用ethereal(即wireshark)分析

查找

  • 方法一
    cp $(find . -type f -name '*.log') /tmp/log
  • 方法二
    find . -type f -name '*.log' | xargs -i cp {} /tmp/log
  • 方法三
    find . -type f -name '*.log' -exec cp {} /tmp/log \;
  • 方法四
    find . -type f -name '*.log' | xargs cp -t /tmp/log

查找后删除

  • 批量删除空文件夹
    find . -type d -empty -delete
  • 批量删除文件
    find . -type f -name '*.log' -delete
  • 批量强制删除文件夹
    find . -type d -name target -exec rm -rf {} \;

配置systemd服务

cat > /usr/lib/systemd/system/nginx.service <<EOF
[Unit]
Description=The nginx HTTP and reverse proxy server
After=network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target

[Service]
Type=forking
PIDFile=/run/nginx.pid
ExecStartPre=/usr/bin/rm -f /run/nginx.pid
ExecStartPre=/usr/local/openresty/nginx/sbin/nginx -t
ExecStart=/usr/local/openresty/nginx/sbin/nginx
ExecReload=/usr/local/openresty/nginx/sbin/nginx -s reload
KillSignal=SIGQUIT
TimeoutStopSec=5
KillMode=process
PrivateTmp=true

[Install]
WantedBy=multi-user.target

EOF

相关命令

systemctl daemon-reload
systemctl enable nginx
systemctl start nginx