http協議:埠80,工作在應用層,不安全,不需要加密不需要證書,url以http開頭
請求包:請求行,請求頭標,空行,請求資料
請求行由:請求方法,請求的url,http版本構成
請求方法:get,post,head,put,option,connect,delete,trace
get和post的區別:
get提交的資料會放在url後面,以?分割url和資料,資料之間以&分隔開,post提交的資料放在資料報的正文中
get提交的資料大小有限制,post提交的資料沒有限制
grt提交的資料由明文傳輸,post提交的資料放在表單中,進行加密傳輸
響應包:狀態行,響應頭標,空行,響應資料
響應狀態碼:
200:訪問成功
30x:重定向
40x:因客戶端問題不能訪問伺服器
50x:因伺服器問題不能訪問伺服器
https協議:埠443,工作在傳輸層,安全,對傳輸的資料進行加密,需要認證證書,url以https開頭
tcp的三次握手和四次揮手
三次握手:客戶端向伺服器傳送乙個syn包建立連線,並傳送seq順序號,伺服器收到後,傳送乙個syn包建立連線,並傳送ack確認包和seq順序號,客戶端收到後傳送乙個ack確認包和seq順序號,建立連線。
為什麼是三次握手而不是兩次或者是四次,因為當第一次握手時,伺服器知道客戶端傳送,自己接收是正常的,而第二次握手後,客戶端知道自己傳送接收正常,伺服器傳送接收也正常,第三次握手,伺服器知道自己和客戶端,傳送接收都正常,只有通訊雙方接收傳送都正常,才是可靠的連線。
四次揮手:客戶端向伺服器傳送fin關閉報文,伺服器收到後向客戶端傳送ack確認報文,當客戶端收到後,伺服器傳送乙個fin報文來結束伺服器到客戶端的資料傳輸,客戶端收到關閉報文後,向伺服器傳送ack確認報文,完成三次握手。
為什麼是四次揮手,因為當雙方收到fin包後,只能表示對方不能再傳送資料了,但是還能接收資料,需要對方傳送ack確認報文,來關閉自身資料的傳輸。
tcp和ucp的區別
tcp是面向連線的可靠傳輸,udp不需要建立連線
tcp提供可靠的連線,udp不能夠保證可靠交付
tcp支援一對一點到點的連線,udp支援一對一(多),多對一(多)的互動通訊
tcp對系統資源要求較多,傳輸速率相對較慢,udp對系統資源要求較少,擁有較好的實時性,工作效率比tcp要高,適用於對高速傳播和實時性有較高的通訊或廣播通訊
dhcp協議的乙個工作流程
主機啟動後廣播傳送dhcp請求包(包含源主機mac位址),尋找dhcp伺服器,dhcp伺服器收到請求後,傳送乙個應答包(包含目標主機mac位址,提供的ip位址,以及自己的ip位址),客戶端收到應答後選擇乙個dhcp伺服器,並傳送組用ip包請求(不包含提供的ip位址),dhcp收到請求後傳送乙個確認包(包含目標主機ip及mac位址)。獲取到ip位址
dhcp泛洪攻擊,是攻擊者偽造大量的dhcp報文傳送到伺服器,惡意耗淨ip資源,使得合法使用者無法獲得ip資源,並且這個分配的過程是需要cpu來計算的,於是大量的偽造報文造成了伺服器高負荷執行。
arp協議
arp協議是位址解析協議,工作在網路層,用於使用ip位址獲取mac位址,建立在相互信任基礎上的乙個協議,arp收到乙個應答報文後,不會檢驗他的真實性,就將此ip和mac位址儲存在其arp快取中,導致主機無法傳送資訊到預期的主機,或者是到達偽裝的主機,造成了arp欺騙。(在網路中的交換機上配置802.1x協議,只有通過認證後才能向網路傳送資料)
arp有乙個快取表,請求和應答包,arp**,免費arp。
icmp協議
icmp網際報文控制協議,是ip協議的乙個子協議,ip協議是不可靠的傳輸,而icmp協議正解決了這一點,它可以確認資料報已經到達目標主機,或者知道傳送的資料報被丟棄的原因,它有兩種報文,一種是差錯報錯報文,一種是詢問報文
差錯報文:時間超過,目標站點不可達,引數錯誤,改變路由,源點抑制(書上說已經沒了這個)
死亡之ping的原理是作業系統限制了icmp資料報的尺寸不能超過64kb,而當攻擊者傳送的icmp包的尺寸大於64kb則會導致主機記憶體分配出錯,從而造成主機宕機。(取消限制,或將頻寬控制在一定的範圍)
icmp風暴,當傳送大量的icmp包時可能會造成icmp風暴,導致占用系統大量cpu,造成系統癱瘓。(設定icmp包的處理過程,如拒絕所有的icmp資料報)
ip包格式
使用wiresherk進行抓包分析
c 網路部分
public class gf network ping ip位址 timeout 區域網用200,廣域網用2000 ip位址 超時 毫秒 public static bool ping string ip,int timeout ping pingsender new ping pingreply...
網路部分(iOS)
ftp 檔案傳輸協議 http 超文字傳輸協議 https 安全超文字傳輸協議 file 本地檔案協議 xcode7設定網路 打斷點 在輸出框 輸入 po self.array 會列印出裡面的物件 或者 nsallowsarbitraryloads sendsynchronousrequest re...
網路部分之link layer
在100base x 中,使用 4b 5b encoding。這種編碼的特點是將欲傳送的資料流每4bit 作為乙個組,然後按照 4b 5b 編碼規則將其轉換成相應 5bit 碼。5bit 碼共有32 種組合,但只採用其中 的 16種對應 4bit 碼的16 種,其他的 16種或者未用或者用作控制碼,...