Tcpdump & wireshark
命令行查看当前机器公网ip
1 | > curl myip.ipip.net |
检测机器端口开放
1 | # 网页服务直接下载检查内容 |
或者扫描指定端口
1 | # IPV6 也行 |
全部端口,但是会很慢。50分钟
1 | sudo nmap -sT -p- 4.shaojiemike.top |
wireshark
显示过滤
上方的过滤窗口
1 | tcp.port==80&&(ip.dst==192.168.1.2||ip.dst==192.168.1.3) |
捕捉过滤
抓包前在capture option中设置,仅捕获符合条件的包,可以避免产生较大的捕获文件和内存占用,但不能完整的复现测试时的网络环境。
1 | host 192.168.1.1 //抓取192.168.1.1 收到和发出的所有数据包 |
color 含义
tcpdump
传统命令行抓包工具
常用参数
注意过滤规则间的and
-nn
:- 单个 n 表示不解析域名,直接显示 IP;
- 两个 n 表示不解析域名和端口。
- 方便查看 IP 和端口号,
- 不需要域名解析会非常高效。
-i
指定网卡-D
查看网卡-v
,-vv
和-vvv
来显示更多的详细信息port 80
抓取 80 端口上的流量,通常是 HTTP。在前面加src
,dst
限定词tcpudmp -i eth0 -n arp host 192.168.199
抓取192.168.199.* 网段的arp协议包,arp可以换为tcp,udp等。
-A
,-X
,-xx
会逐渐显示包内容更多信息-e
: 显示数据链路层信息。- 默认情况下 tcpdump 不会显示数据链路层信息,使用 -e 选项可以显示源和目的 MAC 地址,以及 VLAN tag 信息。
输出说明
1 | 192.168.1.106.56166 > 124.192.132.54.80 |
- ip 是 192.168.1.106,源端口是 56166,
- 目的地址是 124.192.132.54,目的端口是 80。
>
符号代表数据的方向。
Flags
常见的三次握手 TCP 报文的 Flags:
1 | [S] : SYN(开始连接) |
常见用途
- 根据目的IP,筛选网络经过的网卡和端口
- 能抓各种协议的包比如ping,ssh
案例分析
1 | curl --trace-ascii - www.github.com |
github ip 为 20.205.243.166
ifconfig显示 ibs5
的网卡有21TB的带宽上限,肯定是IB卡了。
1 | sudo tcpdump -i ibs5 '((tcp) and (host 20.205.243.166))' |
1 | $ sudo tcpdump -i ibs5 -nn -vvv -e '((port 80) and (tcp) and (host 20.205.243.166))' tcpdump: listening on ibs5, link-type LINUX_SLL (Linux cooked v1), capture size 262144 bytes |
snode0 ip 是 10.1.13.50
traceroute
mtr = traceroute+ping
1 | $ traceroute www.baid.com |
traceroute命令用于显示数据包到主机间的路径。
NETWORKMANAGER 管理
1 | # shaojiemike @ snode0 in /etc/NetworkManager [16:49:55] |
好像之前使用过的样子。
1 | # shaojiemike @ snode0 in /etc/NetworkManager [16:56:36] C:127 |
应该是这个 Secure site-to-site connection with Linux IPsec VPN 来设置的
需要进一步的研究学习
暂无
遇到的问题
暂无
开题缘由、总结、反思、吐槽~~
FJW说所有网络都是通过NFS一起出去的
参考文献
无Tcpdump & wireshark
http://icarus.shaojiemike.top/2022/04/23/Work/network/example/tcpdump/