iT邦幫忙

鐵人檔案

第 12 屆 iThome 鐵人賽
回列表
Software Development

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

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

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

Day11 題外話 - 如何利用ARP發起中間人攻擊(Man-in-the-Middle)

講了太多硬知識,來講個有趣的,也就是中間人攻擊(Man-in-the-Middle)的原理,中間人攻擊能讓同個局域網下的電腦在發送封包時經過你的電腦,再轉給路由...

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

Day12 解析第四層-UDP的封包結構

第四層的目的是為數據傳輸提供可靠性、流量控制、壅塞控制、多路複用等服務,這一層之上的應用也有了port的概念,除了要指定ip address之外,還需要指定po...

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

Day13 解析第四層-TCP的封包結構(1)

TCP header的封包較為複雜,且TCP有保證可靠傳輸的機制,所以花兩小節來講,第一小節先講理論,TCP是怎麼保證可靠傳輸、壅塞控制等等。 TCP是基於by...

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

Day14 解析第四層-TCP的封包結構(2)

上一節講了TCP的原理,這裡就是實驗證明的環節了!第一步,還是要寫程式去解析TCP的header同UDP,我們的packet前面已經解析了長度為14的第二層鏈接...

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

Day15 解析第五層-HTTP的封包結構

HTTP是一个Client和Server之间request和response的标准,通常使用TCP协议,預設的port是80,常見於網頁、Restful API...

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

Day16 聊聊https

前一天我們聊了HTTP並解析他,網頁的資料都是藉由http傳輸的,但是網頁的傳遞過程中有許多隱私訊息,例如帳號密碼、信用卡帳號等等的,如果像昨天那樣,寫一個網路...

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

Day17 解析第五層-DNS的封包結構

DNS是基於UDP的一項網路應用服务。它由一個将domain name和ip address相互映射的一個分散式資料庫,能够使人更方便地访问網際網路和http一...

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

Day18 題外話 - 如何發起DNS spoofing

在Day11中我們介紹完ARP有說如何發起中間人攻擊,DNS spoofing就是成為中間人後的一種網路攻擊方法,DNS並沒有想ARP有個table會在本地電腦...

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

Day19 如何利用python發送封包?

Python socket發送封包有很多種方式和API,例如send、sendto、sendall等等,如果你的socket是TCP的socket,那麼在接收到...

2020-09-29 ‧ 由 kaichiaboy 分享
DAY 20

Day20 Checksum如何保證封包正確以及潛在危害

checksum是為了保證 header 或 data 不被破壞而發展出來的機制,IP層有IP層的checksum,TCP有TCP的checksum,計算方式都...

2020-09-30 ‧ 由 kaichiaboy 分享