網絡知識

網絡知識

一、網絡初識

1.網絡概念

 在計算機領域中,網絡是信息傳輸、接收、共享的虛擬平臺,通過它把各個點、面、體的信息聯系到一起,從而實現這些資源的共享。

2.分類

按覆蓋范圍分:

局域網LAN(作用范圍一般為幾米到幾十公里)。

城域網MAN(界于WANLAN之間)。

廣域網WAN(作用范圍一般為幾十到幾千公里)。

按拓撲結構分類:

總線型

圖片1.png 

環型

圖片2.png 

星型

圖片3.png 

網狀

圖片4.png 

按信息的交換方式來分:

電路交換

報文交換

報文分組交換

二、網絡模型

圖片5.png 

1.物理層

為啟動、維護以及關閉物理鏈路定義了電氣規范、機械規范、過程規范和功能規范。

2.數據鏈路層

訪問介質 定義如何格式化數據以便進行傳輸以及如何控制對網絡的訪問。

3.網絡層

數據傳輸路由數據包、選擇傳遞數據的最佳路徑、支持邏輯尋址和路徑選擇

4.傳輸層

確保傳輸數據的可靠性、建立維護和終止虛擬電路、通過錯誤檢測和恢復、信息流控制來保障可靠性

5.會話層

主機間通信建立、管理和終止在應用程序之間的會話

6.表示層

數據表示確保接收系統可以讀出該數據、格式化數據、構建數據、協商用于應用層的數據傳輸語法、提供加密

7.應用層

網絡進程訪問應用層為應用程序進程(例如。電子郵件、文件傳輸和終端仿真)提供網絡服務、提供用戶身份驗證

三、網絡設備

1.網橋

網橋這種設備看上去有點像中繼器。它具有單個的輸入端口和輸出端口。它與中繼器的不同之處就在于它能夠解析它收發的數據。網橋屬于 OSI 模型的數據鏈路層;數據鏈路層能夠進行流控制、糾錯處理以及地址分配。網橋能夠解析它所接受的幀,并能指導如何把數據傳送到目的地。特別是它能夠讀取目標地址信息(MAC),并決定是否向網絡的其他段轉發(重發)數據包,而且,如果數據包的目標地址與源地址位于同一段,就可以把它過濾掉。當節點通過網橋傳輸數據時,網橋就會根據已知的 MAC 地址和它們在網絡中的位置建立過濾數據庫(也就是人們熟知的轉發表)。網橋利用過濾數據庫來決定是轉發數據包還是把它過濾掉。

2.交換機

交換機(switch)就是一種在通信系統中完成信息交換功能的設備。是一種基于MAC地址識別,能完成封裝轉發數據包功能的網絡設備。交換機可以“學習”MAC地址,并把其存放在內部地址表中,通過在數據幀的始發者和目標接收者之間建立臨時的交換路徑,使數據幀直接由源地址到達目的地址。從廣義上來看,網絡交換機分為兩種:廣域網交換機和局域網交換機。廣域網交換機主要應用于電信領域,提供通信用的基礎平臺。而局域網交換機則應用于局域網絡,用于連接終端設備,如PC機及網絡打印機等。

3.路由器

路由器是一種多端口設備,可以連接不同傳輸速率并運行于各種環境的局域網和廣域網,也可以采用不同的協議。路由器屬于OS I 模型的第三層。網絡層指導從一個網段到另一個網段的數據傳輸,也能指導從一種網絡向另一種網絡的數據傳輸。過去,由于過多的注意第三層或更高層的數據,如協議或邏輯地址,路由器曾經比交換機和網橋的速度慢。因此,不像網橋和第二層交換機,路由器是依賴于協議的。在它們使用某種協議轉發數據前,它們必須要被設計或配置成能識別該協議。

四、TCP/IP協議

圖片6.png 

1.定義

Transmission Control Protocol/Internet Protocol的簡寫,中譯名為傳輸控制協議/因特網互聯協議,又名網絡通訊協議,是Internet最基本的協議、Internet國際互聯網絡的基礎,由網絡層的IP協議和傳輸層的TCP協議組成。TCP/IP 定義了電子設備如何連入因特網,以及數據如何在它們之間傳輸的標準。協議采用了4層的層級結構,每一層都呼叫它的下一層所提供的協議來完成自己的需求。通俗而言:TCP負責發現傳輸的問題,一有問題就發出信號,要求重新傳輸,直到所有數據安全正確地傳輸到目的地。而IP是給因特網的每一臺聯網設備規定一個地址。

2.IP

IP層接收由更低層(網絡接口層例如以太網設備驅動程序)發來的數據包,并把該數據包發送到更高層—TCPUDP層;相反,IP層也把從TCPUDP層接收來的數據包傳送到更低層。IP數據包是不可靠的,因為IP并沒有做任何事情來確認數據包是否按順序發送的或者有沒有被破壞,IP數據包中含有發送它的主機的地址(源地址)和接收它的主機的地址(目的地址)。

高層的TCPUDP服務在接收數據包時,通常假設包中的源地址是有效的。也可以這樣說,IP地址形成了許多服務的認證基礎,這些服務相信數據包是從一個有效的主機發送來的。IP確認包含一個選項,叫作IP source routing,可以用來指定一條源地址和目的地址之間的直接路徑。對于一些TCPUDP的服務來說,使用了該選項的IP包好像是從路徑上的最后一個系統傳遞過來的,而不是來自于它的真實地點。這個選項是為了測試而存在的,說明了它可以被用來欺騙系統來進行平常是被禁止的連接。那么,許多依靠IP源地址做確認的服務將產生問題并且會被非法入侵。

3.TCP

TCP是面向連接的通信協議,通過三次握手建立連接,通訊完成時要拆除連接,由于TCP是面向連接的所以只能用于端到端的通訊。

TCP提供的是一種可靠的數據流服務,采用“帶重傳的肯定確認”技術來實現傳輸的可靠性。TCP還采用一種稱為“滑動窗口”的方式進行流量控制,所謂窗口實際表示接收能力,用以限制發送方的發送速度。

如果IP數據包中有已經封好的TCP數據包,那么IP將把它們向‘上’傳送到TCP層。TCP將包排序并進行錯誤檢查,同時實現虛電路間的連接。TCP數據包中包括序號和確認,所以未按照順序收到的包可以被排序,而損壞的包可以被重傳。TCP將它的信息送到更高層的應用程序,例如Telnet的服務程序和客戶程序。應用程序輪流將信息送回TCP層,TCP層便將它們向下傳送到IP層,設備驅動程序和物理介質,最后到接收方。

面向連接的服務(例如Telnet、FTPrlogin、X WindowsSMTP)需要高度的可靠性,所以它們使用了TCP。DNS在某些情況下使用TCP(發送和接收域名數據庫),但使用UDP傳送有關單個主機的信息。

4.UDP

UDP是面向無連接的通訊協議,UDP數據包括目的端口號和源端口號信息,由于通訊不需要連接,所以可以實現廣播發送。

UDP通訊時不需要接收方確認,屬于不可靠的傳輸,可能會出現丟包現象,實際應用中要求程序員編程驗證。

UDPTCP位于同一層,但它不管數據包的順序、錯誤或重發。因此,UDP不被應用于那些使用虛電路的面向連接的服務,UDP主要用于那些面向查詢應答的服務,例如NFS。相對于FTPTelnet,這些服務需要交換的信息量較小。使用UDP的服務包括NTP(網絡時間協議)和DNSDNS也使用TCP)。欺騙UDP包比欺騙TCP包更容易,因為UDP沒有建立初始化連接(也可以稱為握手)(因為在兩個系統間沒有虛電路),也就是說,與UDP相關的服務面臨著更大的危險。

5.常用TCP/UDP端口號大全

端口號可以分為三個范圍:“已知端口”、“注冊端口”以及“動態和或專用端口”。

“已知端口”是從 0 1023 的端口。

“注冊端口”是從 1024 49151 的端口。

“動態和/或專用端口”是從 49152 65535 的端口。理論上,不應為服務分配這些端口。

21—– tcp FTP文件傳輸協議

22——tcpSSH安全登錄、網絡間傳送(SCP)和端口重定向

25—— SMTP

69——– TFTP

80——– HTTP 超文本傳輸協議

23——– Telnet 不安全的文本傳送

79——— Finger

110——– POP3

113——— ident old identification server system

119——– NNTP used for usenet newsgroups

220/tcp IMAP3

443/tcp HTTPS used for securely transferring web pages

 

 

端口:0

服務:Reserved

說明:通常用于分析操作系統。這一方法能夠工作是因為在一些系統中0”是無效端口,當你試圖使用通常的閉合端口連接它時將產生不同的結果。一種典型的掃描,使用IP地址為0.0.0.0,設置ACK位并在以太網層廣播。

 

端口:1

服務:tcpmux

說明:這顯示有人在尋找SGI Irix機器。Irix是實現tcpmux的主要提供者,默認情況下tcpmux在這種系統中被打開。Irix機器在發布是含有幾個默認的無密碼的帳戶,如:IP、GUEST UUCPNUUCP、DEMOS 、TUTOR、DIAG、OUTOFBOX等。許多管理員在安裝后忘記刪除這些帳戶。因此HACKERINTERNET上搜索tcpmux并利用這些帳戶。

 

端口:7

服務:Echo

說明:能看到許多人搜索Fraggle放大器時,發送到X.X.X.0X.X.X.255的信息。

 

端口:19

服務:Character Generator

說明:這是一種僅僅發送字符的服務。UDP版本將會在收到UDP包后回應含有垃圾字符的包。TCP連接時會發送含有垃圾字符的數據流直到連接關閉。HACKER利用IP欺騙可以發動DoS攻擊。偽造兩個chargen服務器之間的UDP包。同樣Fraggle DoS攻擊向目標地址的這個端口廣播一個帶有偽造受害者IP的數據包,受害者為了回應這些數據而過載。

 

端口:21

服務:FTP

說明:FTP服務器所開放的端口,用于上傳、下載。最常見的攻擊者用于尋找打開anonymousFTP服務器的方法。這些服務器帶有可讀寫的目錄。木馬Doly TrojanFore、Invisible FTP、WebEx、WinCrashBlade Runner所開放的端口。

 

端口:22

服務:Ssh

說明:PcAnywhere建立的TCP和這一端口的連接可能是為了尋找ssh。這一服務有許多弱點,如果配置成特定的模式,許多使用RSAREF庫的版本就會有不少的漏洞存在。

 

端口:23

服務:Telnet

說明:遠程登錄,入侵者在搜索遠程登錄UNIX的服務。大多數情況下掃描這一端口是為了找到機器運行的操作系統。還有使用其他技術,入侵者也會找到密碼。木馬Tiny Telnet Server就開放這個端口。

 

端口:25

服務:SMTP

說明:SMTP服務器所開放的端口,用于發送郵件。入侵者尋找SMTP服務器是為了傳遞他們的SPAM。入侵者的帳戶被關閉,他們需要連接到高帶寬的E-MAIL服務器上,將簡單的信息傳遞到不同的地址。木馬Antigen、Email Password SenderHaebu Coceda、Shtrilitz StealthWinPC、WinSpy都開放這個端口。

 

端口:31

服務:MSG Authentication

說明:木馬Master Paradise、Hackers Paradise開放此端口。

 

端口:42

服務:WINS Replication

說明:WINS復制

 

端口:53

服務:Domain Name ServerDNS

說明:DNS服務器所開放的端口,入侵者可能是試圖進行區域傳遞(TCP),欺騙DNSUDP)或隱藏其他的通信。因此防火墻常常過濾或記錄此端口。

 

端口:67

服務:Bootstrap Protocol Server

說明:通過DSLCable modem的防火墻常會看見大量發送到廣播地址255.255.255.255的數據。這些機器在向DHCP服務器請求一個地址。HACKER常進入它們,分配一個地址把自己作為局部路由器而發起大量中間人(man-in-middle)攻擊。客戶端向68端口廣播請求配置,服務器向67端口廣播回應請求。這種回應使用廣播是因為客戶端還不知道可以發送的IP地址。

 

端口:69

服務:Trival File Transfer

說明:許多服務器與bootp一起提供這項服務,便于從系統下載啟動代碼。但是它們常常由于錯誤配置而使入侵者能從系統中竊取任何 文件。它們也可用于系統寫入文件。

 

端口:79

服務:Finger Server

說明:入侵者用于獲得用戶信息,查詢操作系統,探測已知的緩沖區溢出錯誤,回應從自己機器到其他機器Finger掃描。

 

端口:80

服務:HTTP

說明:用于網頁瀏覽。木馬Executor開放此端口。

 

端口:99

服務:gram Relay

說明:后門程序ncx99開放此端口。

 

端口:102

服務:Message transfer agent(MTA)-X.400 over TCP/IP

說明:消息傳輸代理。

 

端口:109

服務:Post Office Protocol -Version3

說明:POP3服務器開放此端口,用于接收郵件,客戶端訪問服務器端的郵件服務。POP3服務有許多公認的弱點。關于用戶名和密碼交 換緩沖區溢出的弱點至少有20個,這意味著入侵者可以在真正登陸前進入系統。成功登陸后還有其他緩沖區溢出錯誤。

 

端口:110

服務:SUN公司的RPC服務所有端口

說明:常見RPC服務有rpc.mountdNFS、rpc.statd、rpc.csmd、rpc.ttybdamd

 

端口:113

服務:Authentication Service

說明:這是一個許多計算機上運行的協議,用于鑒別TCP連接的用戶。使用標準的這種服務可以獲得許多計算機的信息。但是它可作為許多服務的記錄器,尤其是FTPPOP、IMAPSMTPIRC等服務。通常如果有許多客戶通過防火墻訪問這些服務,將會看到許多這個端口的連接請求。記住,如果阻斷這個端口客戶端會感覺到在防火墻另一邊與E-MAIL服務器的緩慢連接。許多防火墻支持TCP連接的阻斷過程中發回RST。這將會停止緩慢的連接。

 

端口:119

服務:Network News Transfer Protocol

說明:NEWS新聞組傳輸協議,承載USENET通信。這個端口的連接通常是人們在尋找USENET服務器。多數ISP限制,只有他們的客戶才能訪問他們的新聞組服務器。打開新聞組服務器將允許發/讀任何人的帖子,訪問被限制的新聞組服務器,匿名發帖或發送SPAM

 

端口:135

服務:Location Service

說明:Microsoft在這個端口運行DCE RPC end-point mapper為它的DCOM服務。這與UNIX 111端口的功能很相似。使用DCOMRPC的服務利用計算機上的end-point mapper注冊它們的位置。遠端客戶連接到計算機時,它們查找end-point mapper找到服務的位置。HACKER掃描計算機的這個端口是為了找到這個計算機上運行Exchange Server嗎?什么版本?還有些DOS攻擊直接針對這個端口。

 

端口:137138、139

服務:NETBIOS Name Service

說明:其中137、138UDP端口,當通過網上鄰居傳輸文件時用這個端口。而139端口:通過這個端口進入的連接試圖獲得NetBIOS/SMB服務。這個協議被用于windows文件和打印機共享和SAMBA。還有WINS Regisrtation也用它。

 

端口:143

服務:Interim Mail Access Protocol v2

說明:和POP3的安全問題一樣,許多IMAP服務器存在有緩沖區溢出漏洞。記?。阂环NLINUX蠕蟲(admv0rm)會通過這個端口繁殖,因此許多這個端口的掃描來自不知情的已經被感染的用戶。當REDHAT在他們的LINUX發布版本中默認允許IMAP后,這些漏洞變的很流行。這一端口還被用于IMAP2,但并不流行。

 

端口:161

服務:SNMP

說明:SNMP允許遠程管理設備。所有配置和運行信息的儲存在數據庫中,通過SNMP可獲得這些信息。許多管理員的錯誤配置將被暴露在InternetCackers將試圖使用默認的密碼public、private訪問系統。他們可能會試驗所有可能的組合。SNMP包可能會被錯誤的指向用戶的網絡。

 

端口:177

服務:X Display Manager Control Protocol

說明:許多入侵者通過它訪問X-windows操作臺,它同時需要打開6000端口。

 

端口:389

服務:LDAPILS

說明:輕型目錄訪問協議和NetMeeting Internet Locator Server共用這一端口。

 

端口:443

服務:Https

說明:網頁瀏覽端口,能提供加密和通過安全端口傳輸的另一種HTTP。

 

端口:456

服務:[NULL]

說明:木馬HACKERS PARADISE開放此端口。

 

端口:513

服務:Login,remote login

說明:是從使用cable modemDSL登陸到子網中的UNIX計算機發出的廣播。這些人為入侵者進入他們的系統提供了信息。

 

端口:544

服務:[NULL]

說明:kerberos kshell

 

端口:548

服務:Macintosh,File Services(AFP/IP)

說明:Macintosh,文件服務。

端口:553

服務:CORBA IIOP UDP

說明:使用cable modem、DSLVLAN將會看到這個端口的廣播。CORBA是一種面向對象的RPC系統。入侵者可以利用這些信息進入系統。

 

端口:555

服務:DSF

說明:木馬PhAse1.0、Stealth SpyIniKiller開放此端口。

 

端口:568

服務:Membership DPA

說明:成員資格 DPA。

 

端口:569

服務:Membership MSN

說明:成員資格 MSN。

 

端口:635

服務:mountd

說明:Linuxmountd Bug。這是掃描的一個流行BUG。大多數對這個端口的掃描是基于UDP的,但是基于TCPmountd有所增加(mountd同時運行于兩個端口)。記住mountd可運行于任何端口(到底是哪個端口,需要在端口111portmap查詢),只是Linux默認端口是635,就像NFS通常運行于2049端口。

 

端口:636

服務:LDAP

說明:SSLSecure Sockets layer

 

端口:666

服務:Doom Id Software

說明:木馬Attack FTP、Satanz Backdoor開放此端口

 

端口:993

服務:IMAP

說明:SSLSecure

附:三次握手和四次揮手詳解

三次握手
  所謂三次握手(Three-Way Handshake)即建立TCP連接,就是指建立一個TCP連接時,需要客戶端和服務端總共發送3個包以確認連接的建立。在socket編程中,這一過程由客戶端執行connect來觸發,整個流程如下圖所示:
圖片7.png
2 TCP三次握手
  (1)第一次握手:Client將標志位SYN置為1,隨機產生一個值seq=J,并將該數據包發送給Server,Client進入SYN_SENT狀態,等待Server確認。
  (2)第二次握手:Server收到數據包后由標志位SYN=1知道Client請求建立連接,Server將標志位SYN和ACK都置為1,ack=J+1,隨機產生一個值seq=K,并將該數據包發送給Client以確認連接請求,Server進入SYN_RCVD狀態。
  (3)第三次握手:Client收到確認后,檢查ack是否為J+1,ACK是否為1,如果正確則將標志位ACK置為1,ack=K+1,并將該數據包發送給Server,Server檢查ack是否為K+1,ACK是否為1,如果正確則連接建立成功,Client和Server進入ESTABLISHED狀態,完成三次握手,隨后Client與Server之間可以開始傳輸數據了。
 
  SYN攻擊:
  在三次握手過程中,Server發送SYN-ACK之后,收到Client的ACK之前的TCP連接稱為半連接(half-open connect),此時Server處于SYN_RCVD狀態,當收到ACK后,Server轉入ESTABLISHED狀態。SYN攻擊就是Client在短時間內偽造大量不存在的IP地址,并向Server不斷地發送SYN包,Server回復確認包,并等待Client的確認,由于源地址是不存在的,因此,Server需要不斷重發直至超時,這些偽造的SYN包將產時間占用未連接隊列,導致正常的SYN請求因為隊列滿而被丟棄,從而引起網絡堵塞甚至系統癱瘓。SYN攻擊時一種典型的DDOS攻擊,檢測SYN攻擊的方式非常簡單,即當Server上有大量半連接狀態且源IP地址是隨機的,則可以斷定遭到SYN攻擊了,使用如下命令可以讓之現行:
  #netstat -nap | grep SYN_RECV

三、四次揮手
 三次握手耳熟能詳,四次揮手估計就網絡知識,所謂四次揮手(Four-Way Wavehand)即終止TCP連接,就是指斷開一個TCP連接時,需要客戶端和服務端總共發送4個包以確認連接的斷開。在socket編程中,這一過程由客戶端或服務端任一方執行close來觸發,整個流程如下圖所示:
圖片8.png
3 TCP四次揮手
  由于TCP連接時全雙工的,因此,每個方向都必須要單獨進行關閉,這一原則是當一方完成數據發送任務后,發送一個FIN來終止這一方向的連接,收到一個FIN只是意味著這一方向上沒有數據流動了,即不會再收到數據了,但是在這個TCP連接上仍然能夠發送數據,直到這一方向也發送了FIN。首先進行關閉的一方將執行主動關閉,而另一方則執行被動關閉,上圖描述的即是如此。
 (1)第一次揮手:Client發送一個FIN,用來關閉Client到Server的數據傳送,Client進入FIN_WAIT_1狀態。
  (2)第二次揮手:Server收到FIN后,發送一個ACK給Client,確認序號為收到序號+1(與SYN相同,一個FIN占用一個序號),Server進入CLOSE_WAIT狀態。
 (3)第三次揮手:Server發送一個FIN,用來關閉Server到Client的數據傳送,Server進入LAST_ACK狀態。
  (4)第四次揮手:Client收到FIN后,Client進入TIME_WAIT狀態,接著發送一個ACK給Server,確認序號為收到序號+1,Server進入CLOSED狀態,完成四次揮手。
  上面是一方主動關閉,另一方被動關閉的情況,實際中還會出現同時發起主動關閉的情況,具體流程如下圖:

圖片9.png
4 同時揮手
  流程和狀態在上圖中已經很明了了,在此不再贅述,可以參考前面的四次揮手解析步驟。

 

 

 

 

原創文章,作者:178babyhanggege,如若轉載,請注明出處:http://www.www58058.com/42481

(0)
178babyhanggege178babyhanggege
上一篇 2016-09-01 08:49
下一篇 2016-09-01 08:49

相關推薦

  • N22-第2周作業

    1、Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示 cd、pwd、ls、alias、cat、more、less、tail、cut、wc、touch、mv、cp、rm pwd:用戶當前所在目錄 [xuc@localhost ~]$ pwd /home/xuc cd:切換目錄  cd  [/PATH…

    Linux干貨 2016-08-22
  • 優云軟件數據專家最佳實踐:數據挖掘與運維分析

    這份研究報告,作者是優云軟件數據專家陳是維,在耗時1年時間制作的一份最佳實踐,今天和大家分享下,關于《數據采礦和運維分析》,共同探討~ 數據挖掘(Data Mining)是從大量數據中提取或“挖掘”知識。 廣義數據挖掘:數據挖掘是從存放在數據庫、數據倉庫或其它信息庫中的大量數據挖掘有趣知識的過程。 數據挖掘技術側重:1)概率與數理統計 2)數據庫技術 3)人…

    大數據運維 2016-07-16
  • 使用tar打包并使用gzip壓縮的shell腳本應用實驗

    博客目的: 練習find,gzip,tar,grep,vim等命令的使用以及shell腳本的初步使用 命令行模式下: 1、find出/目錄下100M以上的文件并且查看 [root@rookie ~]# find / -size +100M | xargs ls -lh -r——–. 1 root root 128T 4月 8 16:02 /proc…

    Linux干貨 2017-04-09
  • 磁盤、文件系統管理

    linux磁盤、文件系統管理 硬盤:機械硬盤、固態硬盤     計算硬盤速度:IoPs:(Io  per  second ) 每秒20次 機械硬盤:     track:磁道     平均尋道時間  &nbsp…

    Linux干貨 2016-08-25
  • 雙主模型的lvs-dr高可用負載均衡集群

    實驗目的:使用keepalived實現lvs-dr模型雙主高可用集群 實驗環境:兩臺virtual server(實現lvs的雙主)、兩臺real server(安裝web service,用于負載均衡)、一臺clietn用于驗證結果 注意:為了不影響實驗結果,在實驗開始前先關閉iptables和selinux 操作步驟: 一、配置IP 1.配置A主機的IP…

    2017-05-13
  • Linux基礎目錄名稱及功用

    FHS目錄規則 Filesystem Hierarchy Standard(文件系統目錄標準)的縮寫,多數Linux版本采用這種文件組織形式,類似于Windows操作系統中c盤的文件目錄,FHS采用樹形結構組織文件。FHS定義了系統中每個區域的用途、所需要的最小構成的文件和目錄,同時還給出了例外處理與矛盾處理。   FHS定義了兩層規范,第一層是,…

    Linux干貨 2016-10-30
欧美性久久久久