Back to prev

Linux Network

Dec 28, 2021
Linkang Chan
@Jesse Chan

本篇笔记记录一些在类 Unix 系统上操作查看网络相关的内容,包括一些基本网络管理,查询,性能监测等等内容。

抓包

一般我们会使用 wireshark 来抓包,这个工具可以抓取网络中的数据包,并且可以对数据包进行分析。但是在 Linux 上我们可以通过如下的方式进行抓包:

sudo tcpdump -s 0 -A 'tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x47455420'

tcpdump过滤HTTP的POST请求:

sudo tcpdump -s 0 -A 'tcp dst port 80 and (tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x504f5354)'

tcpdump过滤HTTP的请求和响应头信息,以及请求和响应消息体信息:

tcpdump -A -s 0 'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)'
tcpdump -X -s 0 'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)'

查看端口使用情况

$ netstat -ntlp   #查看当前所有tcp端口·
$ netstat -ntulp | grep 80   #查看所有80端口使用情况·
$ netstat -an | grep 3306   #查看所有3306端口使用情况·

相关参数的解释:

  • n:不进行 DNS 解析,只显示 IP 地址和端口号;
  • t:显示 TCP 端口
  • u:显示 UDP 端口
  • l: 显示监听的 socket
  • p:显示标识符和进程号

删除桥接网络

$ sudo ip link delete br0 type bridge

如果该网络是由 docker 创建的,可以尝试使用

$ docker network prune

查看路由表

$ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         172.21.0.1      0.0.0.0         UG    100    0        0 eth0
172.17.0.0      0.0.0.0         255.255.0.0     U     0      0        0 docker0
172.21.0.0      0.0.0.0         255.255.240.0   U     0      0        0 eth0

在 Mac OSX 上,我们可以使用netstat来查看具体的路由表

$ netstat -rn

redis connect

查看 redis 的服务是否正常 ping 通

$ telnet xxxx 6379

Caddy

重载配置

$ systemctl reload caddy

查看日志

$ journalctl --no-pager -u caddy

查看状态

$ systemctl status caddy

caddy 证书位置

$ cd /var/lib/caddy/.local/share/caddy/certificates/acme-v02.api.letsencrypt.org-directory/
$ ls
xxx.key  xxx.crt

caddy trust

当出现如下日志时:

Jul 19 20:59:32 ubuntu-vm sudo[10043]: pam_unix(sudo:auth): conversation failed
Jul 19 20:59:32 ubuntu-vm sudo[10043]: pam_unix(sudo:auth): auth could not identify password for [caddy]
Jul 19 20:59:32 ubuntu-vm sudo[10043]:    caddy : user NOT in sudoers ; TTY=unknown ; PWD=/ ; USER=root ; COMMAND=/usr/bin/tee /usr/local/share/ca-certificates/Caddy_Local_Authority_-_2021_ECC_Root_158313951851744774645843564988098209363.crt

可以使用如下方式添加信任:

$ sudo HOME=~caddy caddy trust