iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 1
4
Software Development

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

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

小弟碩士剛畢業,經歷了Leetcode、作業系統、計算機網路等輪番轟炸的面試,本想著這些也只有面試才會問,結果剛開始上班就接到了一個功能 - 要抓取網路上的封包,加工後再送回去(好像有點黑?)。

透過這個專案,突然對計算機網路有更深的了解,幫助了我看通訊協議的理解能力,把腦袋裡的東西輸出才會更有印象,另外在github上也看不到什麼輕量級網路封包分析的開源code,所以藉此機會寫篇文章紀錄下來並開源上去github,如果嫌wireshark或tcpdump太慢沒有辦法滿足即時性需求,歡迎參考我的github repo!

開始連續30天的寫作還是需要訂個提綱,我把這三十天的主題都寫在這了

Day01 那些年還給老師的TCP/IP五層結構 - 用Python進行網路封包分析
Day02 計算機網路的組成
Day03 TCP/IP五層結構
Day04 用docker建構proxy伺服器模擬網路封包分析環境
Day05 Socket初探
Day06 如何利用python監聽所有流過的封包?
Day07 解析第二層及第三層的封包結構
Day08 聊聊ICMP的應用 - ping
Day09 聊聊ICMP的應用 - traceroute
Day10 聊聊ARP
Day11 題外話 - 如何利用ARP發起中間人攻擊(Man-in-the-Middle)
Day12 解析第四層-UDP的封包結構
Day13 解析第四層-TCP的封包結構(1)
Day14 解析第四層-TCP的封包結構(2)
Day15 解析第五層-HTTP的封包結構
Day16 聊聊https
Day17 解析第五層-DNS的封包結構
Day18 題外話 - 如何發起DNS spoofing
Day19 如何利用python發送封包?
Day20 Checksum如何保證封包正確以及潛在危害
Day21 自幹TCP三向交握(1)
Day22 自幹TCP三向交握(2)
Day23 題外話 - 如何利用TCP四向交握取得鄰居的Wi-Fi密碼
Day24 自幹TCP四向揮手(1)
Day25 自幹TCP四向揮手(2)
Day26 自幹DNS server(1)
Day27 自幹DNS server(2)
Day28 自幹Ping server(1)
Day29 自幹Ping server(2)
Day30 總結

系列的成果將會放在這:https://github.com/kaichiachen/pytcpdump
文章配合著程式碼有助於學習 :)


下一篇
Day02 計算機網路是什麼?
系列文
那些年還給老師的TCP/IP五層結構 - 用Python進行網路封包分析30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
1
AlittleQ
iT邦新手 5 級 ‧ 2020-09-11 21:42:31

未看先推

0
小碼農米爾
iT邦高手 1 級 ‧ 2020-09-11 22:06:50

題外話~ 敲碗~ /images/emoticon/emoticon31.gif

0
eric19740521
iT邦新手 1 級 ‧ 2020-11-29 14:06:34

要抓取網路上的封包,加工後再送回去(好像有點黑?)。

--->這就是我想學習的,作者佛心阿.

謝謝!如果要這樣搞的話(加工後再送回去)還需要再學iptables防火牆,把路過的封包擋住再送回去,不然client會收到加工和正常的封包

0

感覺讚讚的(⁎⁍̴̛ᴗ⁍̴̛⁎)
♐1111026(三)1043

我要留言

立即登入留言