1. 確認目標Pod所在的Worker Node
```
oc get pod -owide
```
2. 於目標Node上取得Pod network NS
```
oc debug node/<worker_node>
NAME=<pod-name>
NAMESPACE=<pod-namespace>
pod_id=$(chroot /host crictl pods --namespace ${NAMESPACE} --name ${NAME} -q)
ns_path="/host$(chroot /host bash -c "crictl inspectp $pod_id | jq '.info.runtimeSpec.linux.namespaces[]|select(.type==\"network\").path' -r")"
nsenter_parameters="--net=${ns_path}"
```
3. 檢查目標Pod Network interface
eth0
```
(reverse-i-search)`ip ': nsenter $nsenter_parameters -- chroot /host ^C a
(failed reverse-i-search)`nsenter': ^Center_parameters="--net=${ns_path}"
sh-4.4# nsenter $nsenter_parameters -- chroot /host ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0@if126: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1400 qdisc noqueue state UP group default
link/ether 0a:58:0a:80:00:71 brd ff:ff:ff:ff:ff:ff link-netns 82217c64-ef9a-4ad2-a78d-7b5256d0991a
inet 10.128.0.113/23 brd 10.128.1.255 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::858:aff:fe80:71/64 scope link
valid_lft forever preferred_lft forever
```
4. 檢查要確認的svc
[quickcluster@upi-0 ~]$ oc get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
hostnames ClusterIP 172.30.31.229 <none> 9376/TCP 68m
5. 打流量同時下tcpdump過濾tcp stream
有tcp keepalive的情況 - 只會看到同一個pair
```
sh-4.4# nsenter $nsenter_parameters -- tcpdump -nn -i eth0 tcp and host 172.30.31.229 -nn -tt -c 1000 | awk '{print $3,$5}' | sed 's/\.[0-9]*$//' | sort | uniq
dropped privs to tcpdump
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
1000 packets captured
1931 packets received by filter
0 packets dropped by kernel
10.128.0.113.50748 172.30.31.229.9376:
172.30.31.229.9376 10.128.0.113.50748:
```
沒有開tcp keepalive的話則回有多個pair
```
sh-4.4# nsenter $nsenter_parameters -- tcpdump -nn -i eth0 tcp and host 172.30.31.229 -nn -tt -c 100 | awk '{print $3,$5}' | sed 's/\.[0-9]*$//' | sort | uniq
dropped privs to tcpdump
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
100 packets captured
831 packets received by filter
0 packets dropped by kernel
10.128.0.113.46092 172.30.31.229.9376:
10.128.0.113.46098 172.30.31.229.9376:
10.128.0.113.46110 172.30.31.229.9376:
10.128.0.113.48498 172.30.31.229.9376:
10.128.0.113.48502 172.30.31.229.9376:
10.128.0.113.48518 172.30.31.229.9376:
10.128.0.113.48526 172.30.31.229.9376:
10.128.0.113.48530 172.30.31.229.9376:
10.128.0.113.48540 172.30.31.229.9376:
10.128.0.113.48548 172.30.31.229.9376:
172.30.31.229.9376 10.128.0.113.46092:
172.30.31.229.9376 10.128.0.113.46098:
172.30.31.229.9376 10.128.0.113.46110:
172.30.31.229.9376 10.128.0.113.48498:
172.30.31.229.9376 10.128.0.113.48502:
172.30.31.229.9376 10.128.0.113.48518:
172.30.31.229.9376 10.128.0.113.48526:
172.30.31.229.9376 10.128.0.113.48530:
172.30.31.229.9376 10.128.0.113.48540:
172.30.31.229.9376 10.128.0.113.48548:
```