fallnight
資工三甲
113屆 會長
女婕思
我們如何看到網頁?
背後的過程發生了什麼?
什麼是封包?
為什麼要看封包?
現實中藍隊的角色
抓封包的工具 -> Wireshark
用 Wireshark 實際看封包 & 惡意封包
知道封包是啥,也會用 Wireshark!
能看懂封包的內容
對於網路概論的東西有概念 (一起歐趴💯
了解人生還很長,不要真的一個個去看封包(x
總之就是從入門到...入土(?
好了不說廢話了快開始吧~
🖥️
URL 請求網頁資訊
回應,呈現網頁
瀏覽器
(Client)
伺服器
(Server)
分成兩部分:
📱
選了一台心儀的手機
📦
裝進盒子裡
選擇寄送方式:
掛號 or 平信
📝
貼上貨運單
填寫收件地址
🛬
搭上飛機準備送到台灣
🏢
從國外抵達台灣後的
辨別不同大樓的編號
📱
選了一台心儀的手機
📦
裝進盒子裡
選擇寄送方式:
掛號 or 平信
📝
貼上貨運單
填寫收件地址
🛬
搭上飛機準備送到台灣
🏢
從國外抵達台灣後的
辨別不同大樓的編號
📱
選了一台心儀的手機
📦
裝進盒子裡
選擇寄送方式:
掛號 or 平信
📝
貼上貨運單
填寫收件地址
🛬
搭上飛機準備送到台灣
🏢
從國外抵達台灣後的
辨別不同大樓的編號
📱
選了一台心儀的手機
📦
裝進盒子裡
選擇寄送方式:
掛號 or 平信
📝
貼上貨運單
填寫收件地址
🛬
搭上飛機準備送到台灣
🏢
從國外抵達台灣後的
辨別不同大樓的編號
📱
選了一台心儀的手機
📦
裝進盒子裡
選擇寄送方式:
掛號 or 平信
📝
貼上貨運單
填寫收件地址
🛬
搭上飛機準備送到台灣
🏢
從國外抵達台灣後的
辨別不同大樓的編號
📱
選了一台心儀的手機
📦
裝進盒子裡
選擇寄送方式:
掛號 or 平信
📝
貼上貨運單
填寫收件地址
🛬
搭上飛機準備送到台灣
🏢
從國外抵達台灣後的
辨別不同大樓的編號
📱
選了一台心儀的手機
📦
裝進盒子裡
📝
貼上貨運單
🛬
🏢
辨別不同大樓的編號
搭上飛機準備送到台灣
📱
選了一台心儀的手機
📦
裝進盒子裡
📝
貼上貨運單
🛬
🏢
搭上飛機準備送到台灣
辨別不同大樓的編號
📱
選了一台心儀的手機
📦
裝進盒子裡
📝
貼上貨運單
🛬
🏢
搭上飛機準備送到台灣
辨別不同大樓的編號
📱
選了一台心儀的手機
📦
裝進盒子裡
📝
貼上貨運單
🛬
🏢
搭上飛機準備送到台灣
辨別不同大樓的編號
📱
選了一台心儀的手機
📦
裝進盒子裡
📝
貼上貨運單
🛬
搭上飛機準備送到台灣
🏢
辨別不同大樓的編號
📱
選了一台心儀的手機
📦
裝進盒子裡
📝
貼上貨運單
🛬
搭上飛機準備送到台灣
🏢
辨別不同大樓的編號
🎁
📦
📦
🎁
📫
要送出的請求資訊
加上一層層的資訊
封裝成封包
拿到送出的請求資訊
透過一層層的資訊
知道下一步往哪走
✈️
🛫
✈️
✈️
🛬
✈️
某個國外的寄送地
台灣
轉機
轉機
轉機
轉機
📦
📦
📦
📦
📦
📦
🖥️
送出請求的
使用者端 (Client)
給出回應的
伺服器端 (Server)
路由器
路由器
路由器
路由器
路由器
路由器
✈️
🛫
✈️
🛬
出發地
目的地
轉機
轉機
🖥️
使用者
伺服器
路由器
路由器
路由器
✈️
🛫
出發地
轉機
伺服器
路由器
路由器
網路傳輸的基本單位
帶著資料在路由器之間穿梭,抵達目的地
大小容量有限制
傳輸的資料會被切割成小塊,每一小塊就是一個封包
常見的副檔名為 .pcapng 或 .pcap
Header
在外側貼的各種標籤資訊
來源 IP
目的地 IP
來源 Port 號
目的地 Port 號
Payload
裡面攜帶的內容
封包中實際要傳輸的資料本體
例如: 網頁的 HTML 碼、Email 內文、LINE 的訊息
讓我們進入藍隊的世界
<script>alert("XSS")</script>
ip a # 列出當前正在使用的網卡
tshark -D # 列出可選的網卡名稱
tcpdump -D
tshark -i eth0 # 在指定網卡上擷取封包
tcpdump -i eht0
# 監聽與指定 IP 相關的流量
tshark -i eth0 -f "host XX.XX.XX.XX"
tcpdump -i eth0 -nn 'host XX.XX.XX.XX'
# 將擷取的流量都儲存為 .pcap 的封包檔案中
tshark -i eth0 -w output.pcap
tcpdump -i eth0 -w capture.pcap
# 讀取檔案並顯示所有內容
tshark -r output.pcap
tcpdump -r output.pcap效能問題
功能缺乏
TCP 與 UDP 的差異: https://ithelp.ithome.com.tw/articles/10294859
//只查看 HTTP 封包
http
//只查看 TCP 封包
tcp
//只查看與特定 IP 位址相關的流量
ip.addr == XX.XX.XX.XX
//指查看訪問了特定網站的 HTTP 流量
http.host contains "xxxx.com"將惡意程式藏在網址列或表單中
讓使用者點擊帶有惡意程式的連結或提交表單
http://www.example.com/upload?id=<script>alert(1);</script>
http://www.example.com/upload?id=
%3Cscript%3Ealert%28%29%3B%3C%2Fscript%3E
從 HTTP 封包中找出類似的 URL,判斷是 XSS 攻擊