iT邦幫忙

封包相關文章
共有 30 則文章
鐵人賽 Software Development DAY 30

技術 Day30 總結

不知不覺就這樣寫了30天,第一天很痛苦,第二天更痛苦,第三天之後就寫上癮了,沒有這個鐵人賽我都不知道原來寫作挺有趣的,而且寫的過程可以讓自己的知識體系更加鞏固。...

鐵人賽 Software Development DAY 29

技術 Day29 自幹Ping server(2)

接下來是實驗的環節了,在server端先啟動ping server #> python ping.py 在client端發送ping ># pin...

鐵人賽 Software Development DAY 28

技術 Day28 自幹Ping server(1)

很快就來到最後一個實作了,自幹一個ping Server,分散式的應用越來越流行,同一個應用不再是靠共享記憶體,而是靠網路線串接各台機器,那分散式的基礎設施靠什...

鐵人賽 Software Development DAY 27

技術 Day27 自幹DNS server(2)

接下來我們利用_buildEthHeader、_buildIPHeader和_buildUDPHeader來建構一個完整的DNS server 首先,在監聽到p...

鐵人賽 Software Development DAY 26

技術 Day26 自幹DNS server(1)

走過最難的TCP,接下來是比較簡單的環節了,這兩天,我們來實作一個基於UDP的DNS server 還是一樣,我們要從第二層構建header,但是和前幾天的TC...

鐵人賽 Software Development DAY 25

技術 Day25 自幹TCP四向揮手(2)

前面聊到四向揮手的過程,接下來是demo的部分,和三向交握一樣,需要nc指令在HostA啟動TCP的server nc -l 172.17.0.5 80 在Ho...

鐵人賽 Software Development DAY 24

技術 Day24 自幹TCP四向揮手(1)

四向揮手顧名思義,就是要和TCP連線說byebye了,為什麼要說byebye呢?client需求結束直接斷開不就好了嗎?如果client直接斷開,不和serve...

鐵人賽 Software Development DAY 23

技術 Day23 題外話 - 如何利用TCP四向交握取得鄰居的Wi-Fi密碼

Wifi的協議裡的常見加密方式有WEP和WPA/WPA2,WEP在2003年發現安全性不夠,所以逐漸被淘汰,現在看到的router AP幾乎都是使用WPA/WP...

鐵人賽 Software Development DAY 22

技術 Day22 自幹TCP三向交握(2)

上一回說了這三個函數_buildEthHeader()、 _buildIPHeader()、 _buildTCPHeader(tcp_len, seq, ack...

鐵人賽 Software Development DAY 21

技術 Day21 自幹TCP三向交握(1)

在Day13和Day14介紹了TCP的封包結構,TCP是連接導向的協議,所以在建立連線前需要和對方確認和對方的通信收發是正常的,在斷開連接也需要和對方確認沒有額...

鐵人賽 Software Development DAY 20

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

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

鐵人賽 Software Development DAY 19

技術 Day19 如何利用python發送封包?

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

鐵人賽 Software Development DAY 18

技術 Day18 題外話 - 如何發起DNS spoofing

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

鐵人賽 Software Development DAY 17

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

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

鐵人賽 Software Development DAY 16

技術 Day16 聊聊https

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

鐵人賽 Software Development DAY 15

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

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

鐵人賽 Software Development DAY 14

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

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

鐵人賽 Software Development DAY 13

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

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

鐵人賽 Software Development DAY 12

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

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

鐵人賽 Software Development DAY 11

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

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

鐵人賽 Software Development DAY 10

技術 Day10 聊聊ARP

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

鐵人賽 Software Development DAY 9

技術 Day09 聊聊ICMP的應用 - traceroute

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

鐵人賽 Software Development DAY 8

技術 Day08 聊聊ICMP的應用 - ping

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

鐵人賽 Software Development DAY 7

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

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

鐵人賽 Software Development DAY 6

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

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

鐵人賽 Software Development DAY 5

技術 Day05 Socket初探

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

鐵人賽 Software Development DAY 4

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

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

鐵人賽 Software Development DAY 3

技術 Day03 TCP/IP五層結構

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

鐵人賽 Software Development DAY 2

技術 Day02 計算機網路是什麼?

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

鐵人賽 Software Development DAY 1

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

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