⑴ 怎麼把數據包從windows桌面傳到centos 64位
你首先得先去網上下載一個叫securecrt的軟體,然後讓crt能連得上你的centos伺服器,就是可以ssh。這個比較簡單,你可以網路。接著重點來了,securecrt聯通centos後,你可以先在centos系統下安裝一個上傳下載軟體,命令很簡單。yum install lrzsz -y 安裝完畢後,你再執行rz -y,他就會跳出一個securecrt文件選擇窗口,再將你要上傳的數據包文件選擇出來,點擊ok就可以將數據包上傳到你centos系統里了
⑵ 用電腦怎樣上傳數據
網路中數據傳輸過程
我們每天都在使用互聯網,我們電腦上的數據是怎麼樣通過互聯網傳輸到到另外的一台電腦上的呢?
我們知道現在的互聯網中使用的TCP/IP協議是基於,OSI(開放系統互聯)的七層參考模型的,(雖然不是完全符合)從上到下分別為 應用層 表示層 會話層 傳輸層 網路層 數據鏈路層和物理層。其中數據鏈路層又可是分為兩個子層分別為邏輯鏈路控制層(Logic Link Control,LLC )和介質訪問控制層((Media Access Control,MAC )也就是平常說的MAC層。LLC對兩個節點中的鏈路進行初始化,防止連接中斷,保持可靠的通信。MAC層用來檢驗包含在每個楨中的地址信息。在下面會分析到。還要明白一點路由器是在網路層的,而網卡在數據鏈路層。
我們知道,ARP(Address Resolution Protocol,地址轉換協議)被當作底層協議,用於IP地址到物理地址的轉換。在乙太網中,所有對IP的訪問最終都轉化為對網卡MAC地址的訪問。如果主機A的ARP列表中,到主機B的IP地址與MAC地址對應不正確,由A發往B數據包就會發向錯誤的MAC地址,當然無法順利到達B,結 果是A與B根本不能進行通信。
首先我們分析一下在同一個網段的情況。假設有兩台電腦分別命名為A和B,A需要相B發送數據的話,A主機首先把目標設備B的IP地址與自己的子網掩碼進行「與」操作,以判斷目標設備與自己是否位於同一網段內。如果目標設備在同一網段內,並且A沒有獲得與目標設備B的IP地址相對應的MAC地址信息,則源設備(A)以第二層廣播的形式(目標MAC地址為全1)發送ARP請求報文,在ARP請求報文中包含了源設備(A)與目標設備(B)的IP地址。同一網段中的所有其他設備都可以收到並分析這個ARP請求報文,如果某設備發現報文中的目標IP地址與自己的IP地址相同,則它向源設備發回ARP響應報文,通過該報文使源設備獲得目標設備的MAC地址信息。為了減少廣播量,網路設備通過ARP表在緩存中保存IP與MAC地址的映射信息。在一次 ARP的請求與響應過程中,通信雙方都把對方的MAC地址與IP地址的對應關系保存在各自的ARP表中,以在後續的通信中使用。ARP表使用老化機制,刪除在一段時間內沒有使用過的IP與MAC地址的映射關系。一個最基本的網路拓撲結構:
如果中間要經過交換機的話,根據交換機的原理,它是直接將數據發送到相應埠,那麼就必須保有一個資料庫,包含所有埠所連網卡的MAC地址。它通過分析Ethernet包的包頭信息(其中包含不原MAC地址,目標MAC地址,信息的長度等信息),取得目標B的MAC地址後,查找交換機中存儲的地址對照表,(MAC地址對應的埠),確認具有此MAC地址的網卡連接在哪個埠上,然後將數據包發送到這個對應的埠,也就相應的發送到目標主機B上。這樣一來,即使某台主機盜用了這個IP地址,但由於他沒有這個MAC地址,因此也不會收到數據包。
現在我們討論兩台不在同一個網段中的主機,假設網路中要從主機PC-A發送數據包PAC到PC-C主機中
PC-A並不需要獲取遠程主機(PC-C)的MAC地址,而是把IP分組發向預設網關,由網關IP分組的完成轉發過程。如果源主機(PC-A)沒有預設網關MAC地址的緩存記錄,則它會通過ARP協議獲取網關的MAC地址,因此在A的ARP表中只觀察到網關的MAC地址記錄,而觀察不到遠程主機的 MAC地址。在乙太網(Ethernet)中,一個網路設備要和另一個網路設備進行直接通信,
除了知道目標設備的網路層邏輯地址(如IP地址)外,還要知道目標設備的第二層物理地址(MAC地址)。ARP協議的基本功能就是通過目標設備的IP地址,查詢目標設備的MAC地址,以保證通信的順利進行。 數據包在網路中的發送是一個及其復雜的過程,上圖只是一種很簡單的情況,中間沒有過多的中間節點,其實現實中只會比這個更復雜,但是大致的原理是一致的。
(1)PC-A要發送數據包到PC-C的話,如果PC-A沒有PC-C的IP地址,則PC-A首先要發出一個dns的請求,路由器A或者dns解析伺服器會給PC-A回應PC-C的ip地址,這樣PC-A關於數據包第三層的IP地址信息就全了:源IP地址:PC-A,目的ip地址:PC-C。
(2)接下來PC-A要知道如何到達PC-C,然後,PC-A會發送一個arp的地址解析請求,發送這個地址解析請求,不是為了獲得目標主機PC-C的MAC地址,而是把請求發送到了路由器A中,然後路由器A中的MAC地址會發送給源主機PC-A,這樣PC-A的數據包的第二層信息也全了,源MAC地址:PC-A的MAC地址,目的MAC地址:路由器A的MAC地址,
(3)然後數據會到達交換機A,交換機A看到數據包的第二層目的MAC地址,是去往路由器A的,就把數據包發送到路由器A,路由器A收到數據包,首先查看數據包的第三層ip目的地址,如果在自己的路由表中有去往PC-C的路由,說明這是一個可路由的數據包。 (4)然後路由器進行IP重組和分組的過程。首先更換此數據包的第二層包頭信息,路由器PC-A到達PC—C要經過一個廣域網,在這里會封裝很多廣域網相關的協議。其作用也是為了找下一階段的信息。同時對第二層和第三層的數據包重校驗。把數據經過Internet發送出去。最後經過很多的節點發送到目標主機PC_C中。
現在我們想一個問題,PC-A和PC-C的MAC地址如果是相同的話,會不會影響正常的通訊呢!答案是不會影響的,因為這兩個主機所處的區域網被廣域網分隔開了,通過對發包過程的分析可以看出來,不會有任何的問題。而如果在同一個區域網中的話,那麼就會產生通訊的混亂。當數據發送到交換機是,這是的埠信息會有兩個相同的MAC地址,而這時數據會發送到兩個主機上,這樣信息就會混亂。因此這也是保證MAC地址唯一性的一個理由。
我暫且按我的理解說說吧。
先看一下計算機網路OSI模型的七個層次:
┌—————┐
│ 應用層 │←第七層
├—————┤
│ 表示層 │
├—————┤
│ 會話層 │
├—————┤
│ 傳輸層 │
├—————┤
│ 網路層 │
├—————┤
│數據鏈路層│
├—————┤
│ 物理層 │←第一層
└—————┘
而我們現在用的網路通信協議TCP/IP協議者只劃分了四成:
┌—————┐
│ 應用層 │ ←包括OSI的上三層
├—————┤
│ 傳輸層 │
├—————┤
│ 網路層 │
├—————┤
│網路介面層 │←包括OSI模型的下兩層,也就是各種不同區域網。
└—————┘
兩台計算機通信所必須需要的東西:IP地址(網路層)+埠號(傳送層)。
兩台計算機通信(TCP/IP協議)的最精簡模型大致如下:
主機A---->路由器(零個或多個)---->主機B
舉個例子:主機A上的應用程序a想要和主機B上面的應用程序b通信,大致如下
程序a將要通信的數據發到傳送層,在傳送層上加上與該應用程序對應的通信埠號(主機A上不同的應用程序有不同的埠號),如果是用的TCP的話就加上TCP頭部,UDP就加上UDP頭部。
在傳送成加上頭部之後繼續嚮往下傳到網路層,然後加上IP頭部(標識主機地址以及一些其他的數據,這里就不詳細說了)。
然後傳給下層到數據鏈路層封裝成幀,最後到物理層變成二進制數據經過編碼之後向外傳輸。
在這個過程中可能會經過許多各種各樣的區域網,舉個例子:
主機A--->(區域網1--->路由器--->區域網2)--->主機B
這個模型比上面一個稍微詳細點,其中括弧裡面的可以沒有也可能有一個或多個,這個取決於你和誰通信,也就是主機B的位置。
主機A的數據已經到了具體的物理介質了,然後經過區域網1到了路由器,路由器接受主機A來的數據先經過解碼,還原成數據幀,然後變成網路層數據,這個過程也就是主機A的數據經過網路層、數據鏈路層、物理層在路由器上面的一個反過程。
然後路由器分析主機A來的數據的IP頭部(也就是在主機A的網路層加上的數據),並且修改頭部中的一些內容之後繼續把數據傳送出去。
一直到主機B收到數據為止,主機B就按照主機A處理數據的反過程處理數據,直到把數據交付給主機B的應用程序b。完成主機A到主機B的單方向通信。
這里的主機A、B只是為了書寫方便而已,可能通信的雙方不一定就是個人PC,伺服器與主機,主機與主機,伺服器與伺服器之間的通信大致都是這樣的。
再舉個例子,我們開網頁上網路:
就是我們的主機瀏覽器的這個應用程序和網路的伺服器之間的通信。應用成所用的協議就是HTTP,而伺服器的埠號就是熟知埠號80.
大致過程就是上面所說,其中的細節很復雜,任何一個細節都可以寫成一本書,對於非專業人員也沒有必要深究。
⑶ 用ping命令發10個數據包到伺服器
1,Ping命令是Windows9X/NT中集成的一個專用於TCP/IP協議的測試工具。
2,用Ping命令發送10個數據包的命令如下:
Ping 伺服器地址 -n 10
3,其中發送10次參數為-n 10,參數 -n count——定義用來測試所發出的測試包的個數,預設值為4。通過這個命令可以自己定義發送的個數。
⑷ 怎麼給路由器發送最大的數據包
ping IP -l 包-l 定義發送數據包的大小,默認為32位元組,我們利用它可以最大定義到65500位元組。再給你補充些:一,ping 它是用來檢查網路是否通暢或者網路連接速度的命令。作為一個生活在網路上的管理員或者黑客來說,ping命令是第一個必須把握的DOS命令,它所利用的原理是這樣的:網路上的機器都有唯一確定的IP地址,我們給目標IP地址發送一個數據包,對方就要返回一個同樣大小的數據包,根據返回的數據包我們可以確定目標主機的存在,可以初步判定目標主機的操作系統等。下面就來看看它的一些常用的操作。先看看幫助吧,在DOS窗口中鍵入:ping /? 回車,。所示的幫助畫面。在此,我們只把握一些基本的很有用的參數就可以了(下同)。 -t 表示將不間斷向目標IP發送數據包,直到我們強迫其停止。試想,假如你使用100M的寬頻接入,而目標IP是56K的小貓,那麼要不了多久,目標IP就因為承受不了這么多的數據而掉線,呵呵,一次攻擊就這么簡單的實現了。 -l 定義發送數據包的大小,默認為32位元組,我們利用它可以最大定義到65500位元組。結合上面介紹的-t參數一起使用,會有更好的效果哦。 -n 定義向目標IP發送數據包的次數,默認為3次。假如網路速度比較慢,3次對我們來說也浪費了不少時間,因為現在我們的目的僅僅是判定目標IP是否存在,那麼就定義為一次吧。 說明一下,假如-t 參數和 -n參數一起使用,ping命令就以放在後面的參數為標准,比如「ping IP -t -n 3」,雖然使用了-t參數,但並不是一直ping下去,而是只ping 3次。另外,ping命令不一定非得ping IP,也可以直接ping主機域名,這樣就可以得到主機的IP。 下面我們舉個例子來說明一下具體用法。 這里time=2表示從發出數據包到接受到返回數據包所用的時間是2秒,從這里可以判定網路連接速度的大小 。從TTL的返回值可以初步判定被ping主機的操作系統,之所以說「初步判定」是因為這個值是可以修改的。這里TTL=32表示操作系統可能是win98。 (小知識:假如TTL=128,則表示目標主機可能是Win2000;假如TTL=250,則目標主機可能是Unix) 至於利用ping命令可以快速查找區域網故障,可以快速搜索最快的QQ伺服器,可以對別人進行ping攻擊……這些就靠大家自己發揮了。 二,nbtstat 該命令使用TCP/IP上的NetBIOS顯示協議統計和當前TCP/IP連接,使用這個命令你可以得到遠程主機的NETBIOS信息,比如用戶名、所屬的工作組、網卡的MAC地址等。在此我們就有必要了解幾個基本的參數。 -a 使用這個參數,只要你知道了遠程主機的機器名稱,就可以得到它的NETBIOS信息(下同)。 -A 這個參數也可以得到遠程主機的NETBIOS信息,但需要你知道它的IP。 -n 列出本地機器的NETBIOS信息。 當得到了對方的IP或者機器名的時候,就可以使用nbtstat命令來進一步得到對方的信息了,這又增加了我們入侵的保險系數。 三,netstat 這是一個用來查看網路狀態的命令,操作簡便功能強大。 -a 查看本地機器的所有開放埠,可以有效發現和預防木馬,可以知道機器所開的服務等信息,如圖4。 這里可以看出本地機器開放有FTP服務、Telnet服務、郵件服務、WEB服務等。用法:netstat -a IP。 -r 列出當前的路由信息,告訴我們本地機器的網關、子網掩碼等信息。用法:netstat -r IP。 四,tracert 跟蹤路由信息,使用此命令可以查出數據從本地機器傳輸到目標主機所經過的所有途徑,這對我們了解網路布局和結構很有幫助。如圖5。 這里說明數據從本地機器傳輸到192.168.0.1的機器上,中間沒有經過任何中轉,說明這兩台機器是在同一段區域網內。用法:tracert IP。 五,net 這個命令是網路命令中最重要的一個,必須透徹把握它的每一個子命令的用法,因為它的功能實在是太強大了,這簡直就是微軟為我們提供的最好的入侵工具。首先讓我們來看一看它都有那些子命令,鍵入net /?回車如圖6。 在這里,我們重點把握幾個入侵常用的子命令。 net view 使用此命令查看遠程主機的所以共享資源。命令格式為net view \\IP。 net use 把遠程主機的某個共享資源影射為本地盤符,圖形界面方便使用,呵呵。命令格式為net use x: \\IP\sharename。上面一個表示把192.168.0.5IP的共享名為magic的目錄影射為本地的Z盤。下面表示和192.168.0.7建立IPC$連接(net use \\IP\IPC$ "password" /user:"name"), 建立了IPC$連接後,呵呵,就可以上傳文件了: nc.exe \\192.168.0.7\admin$,表示把本地目錄下的nc.exe傳到遠程主機,結合後面要介紹到的其他DOS命令就可以實現入侵了。 net start 使用它來啟動遠程主機上的服務。當你和遠程主機建立連接後,假如發現它的什麼服務沒有啟動,而你又想利用此服務怎麼辦?就使用這個命令來啟動吧。用法:net start servername,如圖9,成功啟動了telnet服務。 net stop 入侵後發現遠程主機的某個服務礙手礙腳,怎麼辦?利用這個命令停掉就ok了,用法和net start同。 net user 查看和帳戶有關的情況,包括新建帳戶、刪除帳戶、查看特定帳戶、激活帳戶、帳戶禁用等。這對我們入侵是很有利的,最重要的,它為我們克隆帳戶提供了前提。鍵入不帶參數的net user,可以查看所有用戶,包括已經禁用的。下面分別講解。 1,net user abcd 1234 /add,新建一個用戶名為abcd,密碼為1234的帳戶,默認為user組成員。 2,net user abcd /del,將用戶名為abcd的用戶刪除。 3,net user abcd /active:no,將用戶名為abcd的用戶禁用。 4,net user abcd /active:yes,激活用戶名為abcd的用戶。 5,net user abcd,查看用戶名為abcd的用戶的情況 net localgroup 查看所有和用戶組有關的信息和進行相關操作。鍵入不帶參數的net localgroup即列出當前所有的用戶組。在入侵過程中,我們一般利用它來把某個帳戶提升為administrator組帳戶,這樣我們利用這個帳戶就可以控制整個遠程主機了。用法:net localgroup groupname username /add。 現在我們把剛才新建的用戶abcd加到administrator組里去了,這時候abcd用戶已經是超級管理員了,呵呵,你可以再使用net user abcd來查看他的狀態,和圖10進行比較就可以看出來。但這樣太明顯了,網管一看用戶情況就能漏出破綻,所以這種方法只能對付菜鳥網管,但我們還得知道。現在的手段都是利用其他工具和手段克隆一個讓網管看不出來的超級管理員,這是後話。有愛好的朋友可以參照《黑客防線》第30期上的《由淺入深解析隆帳戶》一文。 net time 這個命令可以查看遠程主機當前的時間。假如你的目標只是進入到遠程主機裡面,那麼也許就用不到這個命令了。但簡單的入侵成功了,難道只是看看嗎?我們需要進一步滲透。這就連遠程主機當前的時間都需要知道,因為利用時間和其他手段(後面會講到)可以實現某個命令和程序的定時啟動,為我們進一步入侵打好基礎。用法:net time \\IP。 六,at 這個命令的作用是安排在特定日期或時間執行某個特定的命令和程序(知道net time的重要了吧?)。當我們知道了遠程主機的當前時間,就可以利用此命令讓其在以後的某個時間(比如2分鍾後)執行某個程序和命令。用法:at time command \\computer。 表示在6點55分時,讓名稱為a-01的計算機開啟telnet服務(這里net start telnet即為開啟telnet服務的命令)。 七,ftp 大家對這個命令應該比較熟知了吧?網路上開放的ftp的主機很多,其中很大一部分是匿名的,也就是說任何人都可以登陸上去。現在假如你掃到了一台開放ftp服務的主機(一般都是開了21埠的機器),假如你還不會使用ftp的命令怎麼辦?下面就給出基本的ftp命令使用方法。 首先在命令行鍵入ftp回車,出現ftp的提示符,這時候可以鍵入「help」來查看幫助(任何DOS命令都可以使用此方法查看其幫助)。 大家可能看到了,這么多命令該怎麼用?其實也用不到那麼多,把握幾個基本的就夠了。 首先是登陸過程,這就要用到open了,直接在ftp的提示符下輸入「open 主機IP ftp埠」回車即可,一般埠默認都是21,可以不寫。接著就是輸入合法的用戶名和密碼進行登陸了,這里以匿名ftp為例介紹。 用戶名和密碼都是ftp,密碼是不顯示的。當提示**** logged in時,就說明登陸成功。這里因為是匿名登陸,所以用戶顯示為Anonymous。 接下來就要介紹具體命令的使用方法了。 dir 跟DOS命令一樣,用於查看伺服器的文件,直接敲上dir回車,就可以看到此ftp伺服器上的文件。 cd 進入某個文件夾。 get 下載文件到本地機器。 put 上傳文件到遠程伺服器。這就要看遠程ftp伺服器是否給了你可寫的許可權了,假如可以,呵呵,該怎麼 利用就不多說了,大家就自由發揮去吧。 delete 刪除遠程ftp伺服器上的文件。這也必須保證你有可寫的許可權。 bye 退出當前連接。 quit 同上。 八,telnet 功能強大的遠程登陸命令,似乎所有的入侵者都喜愛用它,屢試不爽。為什麼?它操作簡單,如同使用自己的機器一樣,只要你熟知DOS命令,在成功以administrator身份連接了遠程機器後,就可以用它來**想乾的一切了。下面介紹一下使用方法,首先鍵入telnet回車,再鍵入help查看其幫助信息。 然後在提示符下鍵入open IP回車,這時就出現了登陸窗口,讓你輸入合法的用戶名和密碼,這里輸入任何密碼都是不顯示的。 當輸入用戶名和密碼都正確後就成功建立了telnet連接,這時候你就在遠程主機上具有了和此用戶一樣的許可權,利用DOS命令就可以實現你想乾的事情了。這里我使用的超級管理員許可權登陸的。 最後幾個給加分,謝謝!
⑸ java中如何實現從客戶端發送文件到伺服器端
BufferedInputStream bis = new BufferedInputStream( new FileInputStream("文件路徑"));
byte[] buf = new byte[1024];
int len = 0;
BufferedOutputStream bos = new BufferedOutputStream(s.getOutputStream);
while((len = bis.read(buf))!=-1){
bos.write(buf,0,len);
bos.flush();
}
思路是這樣的了。。。具體你自己寫吧。
⑹ 我要給某個伺服器發送數據包,該怎樣操作格式是怎樣的
"ping xxx.xxx.xxx.xxx"
也可以ping域名,比如"ping www..com"
下面幾個擴展參數,可以用。
ping IP -t--連續對IP地址執行Ping命令,直到被用戶以Ctrl+C中斷。
ping IP -l 2000--指定Ping命令中的數據長度為2000位元組,而不是預設的32位元組。
ping IP -n--執行特定次數的Ping命令
⑺ 我現在有1000M整站程序的數據包,請問有其他什麼辦法快速上傳到伺服器除了FTP上傳。
1000M.......應該可以吧..我200M傳了不用半天就ok了.要不解壓出來上傳吧...要不換個網路試試...
⑻ 數據包是如何在網路中傳輸的
我們電腦上的數據,是如何「走」到遠端的另一台電腦的呢?這是個最基礎的問題,可能很多人回答不上來,盡管我們每天都在使用網路。這里我們以一個最簡單的「ping」命令,來解釋一個數據包「旅程」。
假設:我的電腦A,向遠在外地的朋友電腦B傳輸數據,最簡單的就是「ping」一下,看看這個傢伙的那一端網路通不通。A與B之間只有一台路由器。(路由器可能放在學校,社區或者電信機房,無所謂,基本原理是一樣的)
具體過程如下------
1.「ping」命令所產生的數據包,我們歸類為ICMP協議。說白了就是向目的地發送一個數據包,然後等待回應,如果回應正常則目的地的網路就是通的。當我們輸入了「ping」命令之後,我們的機器(電腦A)就生成了一個包含ICMP協議域的數據包,姑且稱之為「小德」吧~~~~
2.「小德」已經將ICMP協議打包到數據段里了,可是還不能發送,因為一個數據要想向外面傳送,還得經過「有關部門」的批准------IP協議。IP要將你的「寫信人地址」和「收信人地址」寫到數據段上面,即:將數據的源IP地址和目的IP地址分別打包在「小德」的頭部和尾部,這樣一來,大家才知道你的數據是要送到哪裡。
3.准備工作還沒有完。接下來還有部門要審核------ARP。ARP屬於數據鏈路層協議,主要負責把IP地址對應到硬體地址。直接說吧,都怪交換機太「傻」,不能根據IP地址直接找到相應的計算機,只能根據硬體地址來找。於是,交換機就經常保留一張IP地址與硬體地址的對應表以便其查找目的地。而ARP就是用來生成這張表的。比如:當「小德」被送到ARP手裡之後,ARP就要在表裡面查找,看看「小德」的IP地址與交換機的哪個埠對應,然後轉發過去。如果沒找到,則發一個廣播給所有其他的交換機埠,問這是誰的IP地址,如果有人回答,就轉發給它。
4.經過一番折騰,「小德」終於要走出這個倒霉的區域網了。可在此之前,它們還沒忘給「小德」屁股後面蓋個「戳」,說是什麼CRC校驗值,怕「小德」在旅行途中缺胳膊少腿,還得麻煩它們重新發送。。。。。我靠~~~~註:很多人弄不清FCS和CRC。所謂的CRC是一種校驗方法,用來確保數據在傳輸過程中不會丟包,損壞等等,FCS是數據包(准確的說是frame)里的一個區域,用來存放CRC的計算結果的。到了目的地之後,目的計算機要檢查FCS里的CRC值,如果與原來的相同,則說明數據在途中沒有損壞。
5.在走出去之前,那些傢伙最後折磨了一次「小德」------把小德身上眾多的0和1,弄成了什麼「高電壓」「低電壓」,在雙絞線上傳送了出去。暈~~出趟門就這么麻煩嗎?
6.坐著雙絞線旅遊,爽!可當看到很多人坐著同軸電纜,還有坐光纖的時候,小德又感覺不是那麼爽了。就在這時,來到了旅途的中轉站------路由器。這地方可是高級場所,人家直接查看IP地址!剩下的一概不管,交給下面的人去做。夠牛吧?路由器的內部也有一張表,叫做路由表,裡面標識著哪一個網路的IP對應著路由器的哪一個埠。這個表也不是天生就有的,而是靠路由器之間互相「學習」之後生成的,當然也可以由管理員手工設定。這個「學習」的過程是依靠路由協議來完成的,比如RIP,EIGRP,OSPF等等。
7.當路由器查看了「小德」的IP地址以後,根據路由表知道了小德要去的網路,接著就把小德轉到了相應的埠了。至此,路由器的主要工作完成,下面又是打包,封裝成frame,轉換成電壓信號等一系列「折騰」的活,就由數據鏈路層和物理層的模塊去干吧。
8.小德從路由器的出口出來,便來到了目的地----電腦B----所屬的網路的默認網關。默認網關可以是路由器的一個埠,也可以是區域網里的各種伺服器。不管怎樣,下面的過程還是一樣的:到交換機里的ARP表查詢「小德」的IP地址,看看屬於哪個區域網段或埠,然後就轉發到B了。
9.進了B的網卡之後,還要層層「剝皮」,基本上和從A出來的程序是一樣的------電腦B先校驗一下CRC值,看看數據是否完整;然後檢查一下frame的封裝,看到是IP協議之後,就把「小德」交給IP「部門」了;IP協議一看目的地址,正確,再看看應用協議,是ICMP。於是知道了該怎麼做了------產生一個回應數據包,(可以命名為「回應小德」),並准備以同樣的順序向遠端的A發送。。至於剛剛收到的那個數據包就丟棄了。
10.「回應小德」這個數據包又開始了上述同樣的循環,只不過這次發送者是B而接收者是A了。
以上是一個最簡單的路由過程,任何復雜的網路都是在次基礎之上實現的。
⑼ PC經路由器訪問伺服器間數據包轉發詳細過程
首先我說明一點 DNS 是使用的TCP 或者UDP 的 53 埠。 大部分都是使用UDP傳輸的所以你看不到三次握手時正常的。
再就是如果你的PC沒有網關的MAC地址緩存。因為要發送DNS請求。所以要查看路由表看網關是誰,然後發送請求網關的MAC地址,然後一個DNS請求數據包被封裝上網關的MAC發出去。
到了路由器上做NAT出去。你哪再不是很清楚再單獨問吧,要細細的寫,累點,你要總結的話網上應該不少。。你可以看看。搜搜DNS工作過程啥的。
QQ:290304230
⑽ 本地通過 http post 數據包到伺服器
,只要在瀏覽器的地址欄里輸入網站的地址就可以了,例如,但是在瀏覽器的地址欄裡面出現的卻是: ,你知道為什麼會多出一個「http」嗎?
一、HTTP協議是什麼
我們在瀏覽器的地址欄里輸入的網站地址叫做URL (Uniform Resource Locator,統一資源定位符)。就像每家每戶都有一個門牌地址一樣,每個網頁也都有一個Internet地址。當你在瀏覽器的地址框中輸入一個URL或是單擊一個超級鏈接時,URL就確定了要瀏覽的地址。瀏覽器通過超文本傳輸協議(HTTP),將Web伺服器上站點的網頁代碼提取出來,並翻譯成漂亮的網頁。因此,在我們認識HTTP之前,有必要先弄清楚URL的組成,例如:。它的含義如下:
1. :代表超文本傳輸協議,通知microsoft.com伺服器顯示Web頁,通常不用輸入;
2. www:代表一個Web(萬維網)伺服器;
3. Microsoft.com/:這是裝有網頁的伺服器的域名,或站點伺服器的名稱;
4. China/:為該伺服器上的子目錄,就好像我們的文件夾;
5. Index.htm:index.htm是文件夾中的一個HTML文件(網頁)。
我們知道,Internet的基本協議是TCP/IP協議,然而在TCP/IP模型最上層的是應用層(Application layer),它包含所有高層的協議。高層協議有:文件傳輸協議FTP、電子郵件傳輸協議SMTP、域名系統服務DNS、網路新聞傳輸協議NNTP和HTTP協議等。
HTTP協議(Hypertext Transfer Protocol,超文本傳輸協議)是用於從WWW伺服器傳輸超文本到本地瀏覽器的傳送協議。它可以使瀏覽器更加高效,使網路傳輸減少。它不僅保證計算機正確快速地傳輸超文本文檔,還確定傳輸文檔中的哪一部分,以及哪部分內容首先顯示(如文本先於圖形)等。這就是你為什麼在瀏覽器中看到的網頁地址都是以開頭的原因。
自WWW誕生以來,一個多姿多彩的資訊和虛擬的世界便出現在我們眼前,可是我們怎麼能夠更加容易地找到我們需要的資訊呢?當決定使用超文本作為WWW文檔的標准格式後,於是在1990年,科學家們立即制定了能夠快速查找這些超文本文檔的協議,即HTTP協議。經過幾年的使用與發展,得到不斷的完善和擴展,目前在WWW中使用的是HTTP/1.0的第六版。
HTTP是怎樣工作的
既然我們明白了URL的構成,那麼HTTP是怎麼工作呢?我們接下來就要討論這個問題。
由於HTTP協議是基於請求/響應範式的(相當於客戶機/伺服器)。一個客戶機與伺服器建立連接後,發送一個請求給伺服器,請求方式的格式為:統一資源標識符(URL)、協議版本號,後邊是MIME信息包括請求修飾符、客戶機信息和可能的內容。伺服器接到請求後,給予相應的響應信息,其格式為一個狀態行,包括信息的協議版本號、一個成功或錯誤的代碼,後邊是MIME信息包括伺服器信息、實體信息和可能的內容。
許多HTTP通訊是由一個用戶代理初始化的並且包括一個申請在源伺服器上資源的請求。最簡單的情況可能是在用戶代理和伺服器之間通過一個單獨的連接來完成。在Internet上,HTTP通訊通常發生在TCP/IP連接之上。預設埠是TCP 80,但其它的埠也是可用的。但這並不預示著HTTP協議在Internet或其它網路的其它協議之上才能完成。HTTP只預示著一個可靠的傳輸。
這個過程就好像我們打電話訂貨一樣,我們可以打電話給商家,告訴他我們需要什麼規格的商品,然後商家再告訴我們什麼商品有貨,什麼商品缺貨。這些,我們是通過電話線用電話聯系(HTTP是通過TCP/IP),當然我們也可以通過傳真,只要商家那邊也有傳真。
以上簡要介紹了HTTP協議的宏觀運作方式,下面介紹一下HTTP協議的內部操作過程。
在WWW中,「客戶」與「伺服器」是一個相對的概念,只存在於一個特定的連接期間,即在某個連接中的客戶在另一個連接中可能作為伺服器。基於HTTP協議的客戶/伺服器模式的信息交換過程,它分四個過程:建立連接、發送請求信息、發送響應信息、關閉連接。這就好像上面的例子,我們電話訂貨的全過程。
其實簡單說就是任何伺服器除了包括HTML文件以外,還有一個HTTP駐留程序,用於響應用戶請求。你的瀏覽器是HTTP客戶,向伺服器發送請求,當瀏覽器中輸入了一個開始文件或點擊了一個超級鏈接時,瀏覽器就向伺服器發送了HTTP請求,此請求被送往由IP地址指定的URL。駐留程序接收到請求,在進行必要的操作後回送所要求的文件。在這一過程中,在網路上發送和接收的數據已經被分成一個或多個數據包(packet),每個數據包包括:要傳送的數據;控制信息,即告訴網路怎樣處理數據包。TCP/IP決定了每個數據包的格式。如果事先不告訴你,你可能不會知道信息被分成用於傳輸和再重新組合起來的許多小塊。
也就是說商家除了擁有商品之外,它也有一個職員在接聽你的電話,當你打電話的時候,你的聲音轉換成各種復雜的數據,通過電話線傳輸到對方的電話機,對方的電話機又把各種復雜的數據轉換成聲音,使得對方商家的職員能夠明白你的請求。這個過程你不需要明白聲音是怎麼轉換成復雜的數據的。
SMTP(Simple Mail Transfer Protocol)即簡單郵件傳輸協議,它是一組用於由源地址到目的地址傳送郵件的規則,由它來控制信件的中轉方式。SMTP協議屬於TCP/IP協議族,它幫助每台計算機在發送或中轉信件時找到下一個目的地。通過SMTP協議所指定的伺服器,我們就可以把E-mail寄到收信人的伺服器上了,整個過程只要幾分鍾。SMTP伺服器則是遵循SMTP協議的發送郵件伺服器,用來發送或中轉你發出的電子郵件。
POP3(Post Office Protocol 3)即郵局協議的第3個版本,它規定怎樣將個人計算機連接到Internet的郵件伺服器和下載電子郵件的電子協議。它是網際網路電子郵件的第一個離線協議標准,POP3允許用戶從伺服器上把郵件存儲到本地主機(即自己的計算機)上,同時刪除保存在郵件伺服器上的郵件,而POP3伺服器則是遵循POP3協議的接收郵件伺服器,用來接收電子郵件的。