---
# System prepended metadata

title: 網路流量除錯規劃

---

# 網路流量除錯規劃

## 相關手法
* 截圖
![](https://i.imgur.com/K5jBdNh.jpg)
* echo 2
![](https://i.imgur.com/eNe7Fsx.jpg)


## 蒐集資料
- [x] 1. 打開 VPC flow log
- [x] 2. 蒐集升級雲的網卡資訊
    * 備註：確認使用中的內網 IP
    * `88.249.37.241` (SDN)
    * GW: `88.249.36.1`
    > 已蒐集升級雲、行內 MongoDB，皆只有一張網卡配置「Intranet」(內部網路)
        > 該 「88開頭」之 IP 為行內之軟體定義網路
- [x] 3. 蒐集行內 MongoDB 網卡資訊
    * 備註：確認使用中的內網 IP
    > 同上，僅有 Intranet IP
- [x] 4. 蒐集 Outposts MongoDB EC2 網卡資訊
- [x] 5. 蒐集 Outposts Worker Node EC2 網卡資訊


## 雲上 IP 配置一覽
![](https://i.imgur.com/PwzNpag.jpg)


## VPC Flow Log
* 參考 [使用 Athena 快速的查找 AWS VPC Flow Log 方式](https://hackmd.io/WACqLmz8QvqQE0ANNeO0cg) 一文做法
* 由先前蒐集到的 logs 匯入 Glue 的 Table，並取名為 `vpc_flow_logs_20221229`
```sql=
CREATE EXTERNAL TABLE IF NOT EXISTS vpc_flow_logs_20221229 (
  version int,
  account string,
  interfaceid string,
  sourceaddress string,
  destinationaddress string,
  sourceport int,
  destinationport int,
  protocol int,
  numpackets int,
  numbytes bigint,
  starttime int,
  endtime int,
  action string,
  logstatus string
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ' '
LOCATION 's3://mylog-cloudwatch/logs_20221229/'
TBLPROPERTIES ("skip.header.line.count"="1");
```
### 找從不同網段送給 compute node 的流量
* 從上述表格撈取資料
    * 過濾那些要「傳給 10.200.16.88」的流量
    * 並且選擇來源「不是來自 VPC 內」的流量
```sql=
SELECT * from vpc_flow_logs_20221229
WHERE "destinationaddress"='10.200.16.88'
AND "sourceaddress" NOT LIKE '10.200.16.%'
ORDER BY "sourceaddress" ASC;
```

* 從下面表格可以看出送給 `10.200.16.88` 的流量的來源IP，以及分別來自兩個介面

| 來源 IP | interface_id | 目標 IP |
| -------- | -------- | -------- |
| 10.200.18.106 | eni-04786fb06ba4f033d | 10.200.16.88 |
| 10.200.18.106 | eni-037ab9763f1101f40 | 10.200.16.88 |
| 10.200.18.152 | eni-07835ee5d17a0c1b8 | 10.200.16.88 |
| 10.200.18.152 | eni-04786fb06ba4f033d | 10.200.16.88 |
| 10.200.18.191 | eni-04786fb06ba4f033d | 10.200.16.88 |
| 10.200.18.191 | eni-0758bdafeecbb4ebb | 10.200.16.88 |
| 10.200.18.32 | eni-04075854a76a8496c | 10.200.16.88 |
| 10.200.18.32 | eni-04786fb06ba4f033d | 10.200.16.88 |

> 以及其他非 10 開頭之 IP，請參考貼圖

![](https://i.imgur.com/vaNGoxj.png)
![](https://i.imgur.com/6HKx4AX.png)

### 找是否有進到 VPC 後、被 compute node 拒絕的量量
* 另外再檢查傳送給 10.200.16.88 的流量，皆未被 REJECT
```sql=
SELECT * from vpc_flow_logs_20221229
WHERE "destinationaddress"='10.200.16.88'
AND "action" LIKE 'REJECT%';
```
![](https://i.imgur.com/vjlYsfm.png)


### 計算，送給 compute node 的流量來源排行
```sql=
SELECT "sourceaddress", COUNT(*) from vpc_flow_logs_20221229
WHERE "destinationaddress"='10.200.16.88'
AND "sourceaddress" NOT LIKE '10.200.16.%'
GROUP BY "sourceaddress"
ORDER BY COUNT(*) DESC;
```
![](https://i.imgur.com/Dx1DGvi.png)
