1.linux網(wǎng)絡(luò)基礎(chǔ)
網(wǎng)絡(luò)的重要性:所有的系統(tǒng)都有網(wǎng)絡(luò)!我們的生活已經(jīng)離不開網(wǎng)絡(luò)拗踢。運(yùn)維生涯50%的生產(chǎn)故障都是網(wǎng)絡(luò)故障疮胖!
2:教室這么多的電腦如何上網(wǎng)的凉袱?
網(wǎng)卡(mac地址)有線(雙絞線傳播電信號(hào))雙向,同時(shí)收發(fā)無線(無線電波)? ? ? ? 發(fā)的時(shí)候运杭,不能收
交換傻瓜交換機(jī)(tplink/dlink/水星...)程控交換機(jī)(配置管理夫啊,可控 思科、華為县习、華三)
路由(雙網(wǎng)卡)內(nèi)網(wǎng)卡---交換機(jī)? 192.168.11.0/24(192.168.11.1~192.168.11.254)外網(wǎng)卡---運(yùn)營(yíng)商? 122.71.227.79(鐵通)? ? 寬度撥號(hào)
查公網(wǎng)ip的方法:windows涮母,打開瀏覽器,訪問百度躁愿,搜IP即可linux:curl? ifconfig.me
擴(kuò)展:高級(jí)路由器還有上網(wǎng)行為管理器和防火墻功能哦
論壇:鴻鵠論壇(網(wǎng)絡(luò)工程師)
3:osi 7層模型分層的作用:? 復(fù)用? (堆積木? 七巧板)
手機(jī)生產(chǎn)廠商:組裝手機(jī)最終產(chǎn)品叛本,7層手機(jī)cpu? ? ? 高通? 聯(lián)發(fā)科? 麒麟手機(jī)屏幕? 三星,京東方,LG手機(jī)主板? 廠商自己設(shè)計(jì)手機(jī)電池? 鋰電池(天能)手機(jī)揚(yáng)聲器? 杜比音效,xxxx手機(jī)攝像頭? 索尼,三星
網(wǎng)絡(luò)工程師:物理層? ? ? 1層源武,通信介質(zhì)的信號(hào)到數(shù)字信號(hào)(二進(jìn)制0101)轉(zhuǎn)換數(shù)據(jù)鏈接層? 2層? 局域網(wǎng)之間計(jì)算機(jī)通信? 通過mac地址(物理網(wǎng)卡)通信網(wǎng)絡(luò)層? ? ? 3層? IP地址在塔,路由(通過公網(wǎng)ip來訪問全世界)公網(wǎng)ip? ? ? 具體的門牌號(hào)(絕對(duì)唯一)私網(wǎng)ip? ? ? 家里的房間號(hào)(相對(duì)唯一)
傳輸層? ? ? 4層? tcp/udp? ? tcp(可靠,速度慢) udp(不可靠左敌,速度快) 端口(讓不同的應(yīng)用程序逸雹,同時(shí)使用網(wǎng)絡(luò))
服務(wù)端使用的固定端口號(hào)营搅,客戶端使用隨機(jī)端口號(hào)(支持多開)
開發(fā)工程師:會(huì)話層? ? ? 5層? 控制發(fā)包的數(shù)據(jù)表示層? ? ? 6層? 文件格式應(yīng)用層? ? ? 7層? 應(yīng)用程序使用SSH? FTP? HTTP? ntp
對(duì)運(yùn)維來說,重中之重的協(xié)議:tcp協(xié)議
4:tcp/ip協(xié)議 5層物理層數(shù)據(jù)鏈路層網(wǎng)絡(luò)層傳輸層應(yīng)用層
一個(gè)數(shù)據(jù)包分成2部分梆砸,一個(gè)控制層面的數(shù)據(jù)转质,一個(gè)是應(yīng)用層面的數(shù)據(jù):控制層面只占一小部分,數(shù)據(jù)層面才占用大部分帖世!
5:數(shù)據(jù)封裝休蟹,解封裝,數(shù)據(jù)傳輸過程應(yīng)用層---》數(shù)據(jù)傳輸層---》tcp報(bào)頭+數(shù)據(jù)網(wǎng)絡(luò)層---》ip包+tcp報(bào)頭+數(shù)據(jù)數(shù)據(jù)鏈接層===》數(shù)據(jù)幀+ip包+tcp報(bào)頭+數(shù)據(jù)物理層===》將完整的數(shù)據(jù)包,由二進(jìn)制轉(zhuǎn)換成電信號(hào)
最重要的協(xié)議協(xié)議:6:tcp三次握手赂弓,四次揮手tcp協(xié)議在傳輸數(shù)據(jù)的時(shí)候绑榴,需要先進(jìn)行三次握手,傳輸上三層數(shù)據(jù)盈魁,四次揮手
tcp的標(biāo)識(shí):SYN:建立鏈接 ACK:回應(yīng)標(biāo)識(shí)FIN? 斷開鏈接PSH? 數(shù)據(jù)包URG? 緊急指針RST? 重置(重傳)
tcp的三次握手
1.客戶端向服務(wù)端發(fā)起帶有SYN標(biāo)識(shí)的包翔怎,seq=x;
2.服務(wù)端向客戶端回應(yīng)帶有SYN,ACK標(biāo)識(shí)的包杨耙,seq=y,ack=x+1赤套;
3.客戶端向服務(wù)端發(fā)起帶有ACK標(biāo)識(shí)的確認(rèn)包,seq=x+1按脚,ack=y+1于毙。
1.客戶端向服務(wù)端發(fā)起帶有FIN,ACK標(biāo)識(shí)的包辅搬,seq=x,ack=y,
2.服務(wù)端向客戶端回應(yīng)帶有ACK標(biāo)識(shí)的包唯沮,seq=y,ack=x+1,
3.服務(wù)端再次向客戶端發(fā)起帶有FIN,ACK標(biāo)識(shí)的包堪遂,seq=y,ack=x+1,
4.客戶端向服務(wù)端發(fā)起帶有ACK標(biāo)識(shí)的回應(yīng)包介蛉,seq=x+1,ack=y+1.
tcp的數(shù)據(jù)傳輸過程:
tcpdump -i eth0 port 80? -nn -S-i? 指定網(wǎng)卡port 指定端口號(hào) http 80;ftp 21 溶褪;ssh 22币旧;telnet 23;smtp 25 猿妈;dns udp53 吹菱;ntp udp 123
tcpdump r
抓tcp某端口的數(shù)據(jù)包
-n 不解析IP地址-nn 不解析IP地址和端口號(hào) -c? 指定抓第幾行-S? 不把隨機(jī)序列號(hào)和確認(rèn)序列號(hào)解析成絕對(duì)值-i 指定網(wǎng)卡名稱-w 另存為當(dāng)前目錄下的文件tcpdump -i eth0 tcp port 21 -nn
tcpdump -i eth0 port 80? -c 10 -S
抓udp某端口的數(shù)據(jù)包tcpdump -i eth0 udp port 53 -nn抓icmp的數(shù)據(jù)包tcpdump -i eth0 icmp -nn
tcpdump抓的包,wireshark分析找同學(xué)給我發(fā)送一個(gè)用tcpdump彭则,ssh協(xié)議的三次握手包文件xxx.cap
ip地址劃分
ip地址由32位二進(jìn)制組成.
什么是二進(jìn)制鳍刷?010110進(jìn)制0-910
2進(jìn)制0-110
二進(jìn)制1100 ==1X2^3+1X2^2+0X2^1+0X2^0 =12
十進(jìn)制1560 ==1x10^3+5x10^2+6x10^1+0x10^0 =1560
ip地址:實(shí)際上是32位二進(jìn)制數(shù)(01100100.00000100.00000101.00000110)100.4.5.60.0.0.0~255.255.255.255
a類? 1.0.0.1~126.255.255.254第一組:1-126開頭的地址是A類? 0<A類<127? ? 128b類? 128.0.0.1~191.255.255.254 128<=B類<192? ? 64
c類? 192.0.0.1~223.255.255.254
d類? 組播,VRRP協(xié)議,keepalive高可用? 224
e類? 科研
私有ip地址范圍:局域網(wǎng)地址:A 10.0.0.0~10.255.255.25565536*256 ==? 16,777,216
B 172.16.0.0~172.31.255.25565536*16= 1,048,576
C 192.168.0.0~192.168.255.25565536
127.0.0.0~127.255.255.255? 本地回環(huán)地址俯抖,保留地址0.0.0.0? ? ? ? ? ? ? === 任意的目的地255.255.255.255? ? ? ===
0.0.0.0 ~ 255.255.255.255 == 256256256*256 = 4,294,967,296? 42億為了緩解ipv4地址不夠用的問題1:ipv6? fe80::2e60:cff:fe9c:a4b3? ? 操作系統(tǒng),硬件設(shè)備
2: NAT? network address 轉(zhuǎn)換好處:a:節(jié)約大量的公網(wǎng)ip地址b:減少了網(wǎng)絡(luò)攻擊
8:子網(wǎng)掩碼的作用:決定一個(gè)網(wǎng)段的大惺涔稀(可用ip數(shù)量的多少)
192.168.11.0/24 === 192.168.11.0? netmask 255.255.255.0
11111111? 11111111? 11111111? 00000000
192.168.11.0/24? === 192.168.11.0? netmask 255.255.255.0192.168.11.0? ? 網(wǎng)絡(luò)號(hào)192.168.11.1? ? 起始地址192.168.11.254? 結(jié)束地址192.168.11.255? 廣播地址
同一個(gè)網(wǎng)段的ip地址,才能直接相互通信芬萍,不同網(wǎng)段的ip地址尤揣,需要路由器才能相互通信!
192.168.11.0/25 === 192.168.11.0? netmask 255.255.255.128
11000000柬祠,10101000北戏,00001011,011000000漫蛔,10101000嗜愈,00001011示罗,00000000? ? 192.168.11.0? ? 網(wǎng)絡(luò)號(hào)
11000000,10101000芝硬,00001011,01111111? ? 192.168.11.127? 廣播地址11111111轧房,11111111拌阴,11111111,10000000? ? 255.255.255.128
192.168.11.128/25 === 192.168.11.128? netmask 255.255.255.12811000000奶镶,10101000迟赃,00001011,1000000011111111厂镇,11111111纤壁,11111111,1000000011000000捺信,10101000酌媒,00001011,111000000迄靠,10101000秒咨,00001011,10000000? 192.168.11.128? 網(wǎng)絡(luò)號(hào)
11000000掌挚,10101000雨席,00001011,11111111? 192.168.11.255? 廣播地址
a:紅蜘蛛廣播b: 限制無線路由器的ip的數(shù)量子網(wǎng)掩碼的值192.168.1.0/28
c: 運(yùn)營(yíng)商的固定ip數(shù)限制電信給了我一個(gè)公網(wǎng)ip
9:dns解析流程dns:domain name system域名系統(tǒng)
百度:111.13.100.92騰訊:199.22.22.22網(wǎng)易:123.55.22.66......
dns服務(wù)器:把域名解析成ip地址
域名:baidu.comdns服務(wù)器:baidu.com 119.22.22.22
dns服務(wù):udp 53端口ssh服務(wù):tcp 22端口http服務(wù):tcp 80端口
能上qq吠式,打不開網(wǎng)站陡厘,一定是dns問題(你的電腦中毒了)
描述:打開瀏覽器輸入blog.oldboyedu.com地址之后回車,網(wǎng)站的打開流程特占?1)把blog.oldboyedu.com解析成公網(wǎng)ip地址2)瀏覽器使用它的公網(wǎng)ip訪問blog.oldboyedu.com的網(wǎng)站服務(wù)器http
dns記錄的類型:qstack.comA? 類型? ? ? ip地址CNAME? 把你的域名解析到另一個(gè)域名? ? 為網(wǎng)站添加cdnMX? ? ? 解析郵箱地址? 解析到另一個(gè)域名,由另一個(gè)域名提供ip來解析NS? nameserver? ? dns.qstack.com? NS == name server 授權(quán)dnsdns.qstack.com? 111.222.22.33
dns的命令digdig @223.5.5.5? www.baidu.com +tracedig? www.baidu.com
nslookupnslookup www.oldboyedu.com
hosthost www.oldboyedu.com
10: arp協(xié)議arp 數(shù)據(jù)鏈路層ARP(Address Resolution Protocol)把ip地址解析成mac地址
arp要注意的a:arp欺騙b:如果局域網(wǎng)規(guī)模太大糙置,廣播風(fēng)暴
11:tcpdump抓包tcpdump -i eth0 port 80? -nn -S-i? 指定網(wǎng)卡port 指定端口號(hào) http 80;ftp 21 摩钙;ssh 22罢低;telnet 23;smtp 25 胖笛;dns udp 53 网持;ntp udp 123
tcpdump -i eth0 icmp? -n-n? 不把ip解析成主機(jī)名-nn 不把端口解析成應(yīng)用層協(xié)議-S? 不把隨機(jī)序列和確認(rèn)序列解析成絕對(duì)值
-c? 指定抓包的數(shù)量
tcpdump -i eth0 port 80? -c 10 -S
抓tcp某端口的數(shù)據(jù)包tcpdump -i eth0 tcp port 21 -nn抓udp某端口的數(shù)據(jù)包tcpdump -i eth0 udp port 53 -nn抓icmp的數(shù)據(jù)包tcpdump -i eth0 icmp -nn