iT邦幫忙

鐵人檔案

第 12 屆 iT 邦幫忙鐵人賽
回列表
Software Development

那些年還給老師的TCP/IP五層結構 - 用Python進行網路封包分析 系列

這個系列文章主要和計算機網路相關,之前大學上課,學計算機網路像死記硬背,頂多再用個wireshard做封包分析,這次想利用30天鐵人賽的機會,我們不再使用wireshark了,我們做一個wireshark!做才能深入了解TCP/IP的原理呀!

鐵人鍊成 | 共 30 篇文章 | 55 人訂閱 訂閱系列文 RSS系列文
DAY 1

Day01 序章 - 這30天我會寫些什麼

小弟碩士剛畢業,經歷了Leetcode、作業系統、計算機網路等輪番轟炸的面試,本想著這些也只有面試才會問,結果剛開始上班就接到了一個功能 - 要抓取網路上的封包...

2020-09-11 ‧ 由 kaichiaboy 分享
DAY 2

Day02 計算機網路是什麼?

一開始可能有點無聊,但還是要說一下現代的計算機網路是如何組成的,如果具有這方面的基礎可以跳到Day04,知道大家不喜歡看太多字,理論的地方字盡量少一點。 電腦之...

2020-09-12 ‧ 由 kaichiaboy 分享
DAY 3

Day03 TCP/IP五層結構

TCP/IP是一個公認的網路通訊協議,是OSI七層的簡化,五層分別為物理層、鏈結層、網路層、傳輸層和應用層,下面用簡短的話分別解釋這五層是做什麼的 物理層(Ph...

2020-09-13 ‧ 由 kaichiaboy 分享
DAY 4

Day04 用docker建構proxy伺服器模擬網路封包分析環境

我們的目標是用Python進行網路封包分析,為了能模擬「流過去」的環境,如果對環境建置不敢興趣可以跳過這一節,監聽的時候一律對本地發送封包也行,不過本地環境必須...

2020-09-14 ‧ 由 kaichiaboy 分享
DAY 5

Day05 Socket初探

我們知道作業系統有分kernel space和user space,user space要透過system call去呼叫kernel space進行I/O的操...

2020-09-15 ‧ 由 kaichiaboy 分享
DAY 6

Day06 如何利用python監聽所有流過的封包?

接下來進入比較有趣的實作環節,第一步就是要能收到所有封包,Python真的是個好東西,只要五行程式碼就能監聽所有從router流過去的封包,而且不需要任何第三方...

2020-09-16 ‧ 由 kaichiaboy 分享
DAY 7

Day07 解析第二層及第三層的封包結構

這裡一併解說第二層及第三層,第二層利用MAC地址去找尋封包的目的地位置,而第三層IP層主要為路由功能,利用IP地址將封包送達不同網段的IP,路由器和交換機會紀錄...

2020-09-17 ‧ 由 kaichiaboy 分享
DAY 8

Day08 聊聊ICMP的應用 - ping

剛深入解構第三層的原理,接下來可以聊聊第三層最常見的應用-ping,ping可以說是網路工程師最常用到的工具,沒有之一,ping是基於ICMP,也就是第三層IP...

2020-09-18 ‧ 由 kaichiaboy 分享
DAY 9

Day09 聊聊ICMP的應用 - traceroute

traceroute也是第三層-IP層著名的應用之一,利用traceroute可以知道封包從你的電腦到另一端電腦走了什麼路徑,雖然每次走的路徑可能會不一樣,但是...

2020-09-19 ‧ 由 kaichiaboy 分享
DAY 10

Day10 聊聊ARP

ARP又名地址解析協議,是連結第二層與第三層的橋樑,我們知道第二層利用MAC address去找尋封包傳遞的目標,而第三層以上則是利用IP address,我們...

2020-09-20 ‧ 由 kaichiaboy 分享