Linux運維人員必會的120個命令
成都地區(qū)優(yōu)秀IDC服務器托管提供商(創(chuàng)新互聯(lián)).為客戶提供專業(yè)的綿陽機房托管,四川各地服務器托管,綿陽機房托管、多線服務器托管.托管咨詢專線:18980820575
來自《跟老男孩學Linux運維:核心系統(tǒng)命令實戰(zhàn)》一書
前言
第1章 Linux命令行簡介 / 1
1.1Linux命令行概述 / 1
1.2在Linux命令行下查看命令幫助 / 4
1.3Linux shutdown reboot halt / 9
關(guān)機:
shutdown -h now
halt
init 0
第2章 文件和目錄操作命令 / 13
2.1pwd:顯示當前所在的位置 / 13
2.2cd:切換目錄 / 16
2.3tree:以樹形結(jié)構(gòu)顯示目錄下的內(nèi)容 / 18
2.4mkdir:創(chuàng)建目錄 / 22
2.5touch:創(chuàng)建空文件或改變文件的時間戳屬性 / 27
2.6ls:顯示目錄下的內(nèi)容及相關(guān)屬性信息 / 30
2.7cp:復制文件或目錄 / 39
2.8mv:移動或重命名文件 / 42
2.9rm:刪除文件或目錄 / 45
2.10rmdir:刪除空目錄 / 48
2.11ln:硬鏈接與軟鏈接 / 49
2.12readlink:查看符號鏈接文件的內(nèi)容 / 54
2.13find:查找目錄下的文件 / 55
2.14xargs:將標準輸入轉(zhuǎn)換成命令行參數(shù) / 68
2.15rename:重命名文件 / 71
2.16basename:顯示文件名或目錄名 / 72
2.17dirname:顯示文件或目錄路徑 / 72
2.18chattr:改變文件的擴展屬性 / 73
2.19lsattr:查看文件擴展屬性 / 75
2.20file:顯示文件的類型 / 76
2.21md5sum:計算和校驗文件的MD5值 / 77
2.22chown:改變文件或目錄的用戶和用戶組 / 80
2.23chmod:改變文件或目錄權(quán)限 / 81
2.24chgrp:更改文件用戶組 / 85
2.25umask:顯示或設置權(quán)限掩碼 / 86
2.26老男孩從新手成為技術(shù)大牛的心法 / 90
第3章 文件過濾及內(nèi)容編輯處理命令 / 91
3.1cat:合并文件或查看文件內(nèi)容 / 91
3.2tac:反向顯示文件內(nèi)容 / 103
3.3more:分頁顯示文件內(nèi)容 / 104
3.4less:分頁顯示文件內(nèi)容 / 107
3.5head:顯示文件內(nèi)容頭部 / 109
3.6tail:顯示文件內(nèi)容尾部 / 111
3.7tailf:跟蹤日志文件 / 114
3.8cut:從文本中提取一段文字并輸出 / 115
3.9split:分割文件 / 117
3.10paste:合并文件 / 118
3.11sort:文本排序 / 123
3.12join:按兩個文件的相同字段合并 / 127
3.13uniq:去除重復行 / 129
3.14wc:統(tǒng)計文件的行數(shù)、單詞數(shù)或字節(jié)數(shù) / 131
3.15iconv:轉(zhuǎn)換文件的編碼格式 / 133
3.16dos2unix:將DOS格式文件轉(zhuǎn)換成UNIX格式 / 134
3.17diff:比較兩個文件的不同 / 135
3.18vimdiff:可視化比較工具 / 138
3.19rev:反向輸出文件內(nèi)容 / 139
3.20tr:替換或刪除字符 / 140
3.21od:按不同進制顯示文件 / 143
3.22tee:多重定向 / 145
3.23vi/vim:純文本編輯器 / 147
3.24老男孩逆襲思想:做Linux運維的多個好處 / 152
第4章 文本處理三劍客 / 153
4.1grep:文本過濾工具 / 153
4.2sed:字符流編輯器 / 159
4.3awk基礎入門 / 165
第5章 Linux信息顯示與搜索文件命令 / 176
5.1uname:顯示系統(tǒng)信息 / 176
5.2hostname:顯示或設置系統(tǒng)的主機名 / 178
5.3dmesg:系統(tǒng)啟動異常診斷 / 179
5.4stat:顯示文件或文件系統(tǒng)狀態(tài) / 181
5.5du:統(tǒng)計磁盤空間使用情況 / 183
5.6date:顯示與設置系統(tǒng)時間 / 186
5.7echo:顯示一行文本 / 190
5.8watch:監(jiān)視命令執(zhí)行情況 / 193
5.9which:顯示命令的全路徑 / 195
5.10whereis:顯示命令及其相關(guān)文件全路徑 / 196
5.11locate:快速定位文件路徑 / 197
5.12updatedb:更新mlocate數(shù)據(jù)庫 / 199
5.13老男孩逆襲思想:新手在工作中如何問問題不會被鄙視 / 200
第6章 文件備份與壓縮命令 / 201
6.1tar:打包備份 / 201
6.2gzip:壓縮或解壓文件 / 208
6.3zip:打包和壓縮文件 / 211
6.4unzip:解壓zip文件 / 212
6.5scp:遠程文件復制 / 214
6.6rsync:文件同步工具 / 216
6.7老男孩逆襲思想:新手如何高效地提問 / 220
第7章 Linux用戶管理及用戶信息查詢命令 / 222
7.1 useradd:創(chuàng)建用戶 / 222
7.2usermod:修改用戶信息 / 227
7.3userdel:刪除用戶 / 229
7.4groupadd:創(chuàng)建新的用戶組 / 230
7.5groupdel:刪除用戶組 / 231
7.6passwd:修改用戶密碼 / 232
7.7chage:修改用戶密碼有效期 / 237
7.8chpasswd:批量更新用戶密碼 / 238
7.9su:切換用戶 / 240
7.10visudo:編輯sudoers文件 / 242
7.11sudo:以另一個用戶身份執(zhí)行命令 / 244
7.12id:顯示用戶與用戶組的信息 / 248
7.13w:顯示已登錄用戶信息 / 249
7.14who:顯示已登錄用戶信息 / 250
7.15users:顯示已登錄用戶 / 252
7.16whoami:顯示當前登錄的用戶名 / 253
7.17last:顯示用戶登錄列表 / 253
7.18lastb:顯示用戶登錄失敗的記錄 / 254
7.19lastlog:顯示所有用戶的最近登錄記錄 / 255
第8章 Linux磁盤與文件系統(tǒng)管理命令 / 257
8.1fdisk:磁盤分區(qū)工具 / 257
8.2partprobe:更新內(nèi)核的硬盤分區(qū)表信息 / 265
8.3tune2fs:調(diào)整ext2/ext3/ext4文件系統(tǒng)參數(shù) / 266
8.4parted:磁盤分區(qū)工具 / 268
8.5mkfs:創(chuàng)建Linux文件系統(tǒng) / 272
8.6dumpe2fs:導出ext2/ext3/ext4文件系統(tǒng)信息 / 274
8.7resize2fs:調(diào)整ext2/ext3/ext4文件系統(tǒng)大小 / 275
8.8fsck:檢查并修復Linux文件系統(tǒng) / 278
8.9dd:轉(zhuǎn)換或復制文件 / 281
8.10mount:掛載文件系統(tǒng) / 284
8.11umount:卸載文件系統(tǒng) / 288
8.12df:報告文件系統(tǒng)磁盤空間的使用情況 / 289
8.13mkswap:創(chuàng)建交換分區(qū) / 293
8.14swapon:激活交換分區(qū) / 294
8.15swapoff:關(guān)閉交換分區(qū) / 295
8.16sync:刷新文件系統(tǒng)緩沖區(qū) / 296
第9章 Linux進程管理命令 / 298
9.1ps:查看進程 / 298
9.2pstree:顯示進程狀態(tài)樹 / 305
9.3pgrep:查找匹配條件的進程 / 306
9.4kill:終止進程 / 307
9.5killall:通過進程名終止進程 / 310
9.6pkill:通過進程名終止進程 / 311
9.7top:實時顯示系統(tǒng)中各個進程的資源占用狀況 / 313
9.8nice:調(diào)整程序運行時的優(yōu)先級 / 320
9.9renice:調(diào)整運行中的進程的優(yōu)先級 / 323
9.10nohup:用戶退出系統(tǒng)進程繼續(xù)工作 / 324
9.11strace:跟蹤進程的系統(tǒng)調(diào)用 / 325
9.12ltrace:跟蹤進程調(diào)用庫函數(shù) / 332
9.13runlevel:輸出當前運行級別 / 334
9.14init:初始化Linux進程 / 335
9.15service:管理系統(tǒng)服務 / 335
第10章 Linux網(wǎng)絡管理命令 / 338
10.1ifconfig:配置或顯示網(wǎng)絡接口信息 / 338
10.2ifup:激活網(wǎng)絡接口 / 343
ifup eth0
10.3ifdown:禁用網(wǎng)絡接口 / 343
ifdown eth0
service network restart(/etc/init.d/network restart) 激活整個網(wǎng)絡,所有網(wǎng)卡。
10.4route:顯示或管理路由表 / 344
10.5arp:管理系統(tǒng)的arp緩存 / 350
10.6ip:網(wǎng)絡配置工具 / 351
10.7netstat:查看網(wǎng)絡狀態(tài) / 358
10.8ss:查看網(wǎng)絡狀態(tài) / 362
10.9ping:測試主機之間網(wǎng)絡的連通性 / 363
10.10traceroute:追蹤數(shù)據(jù)傳輸路由狀況 / 366
10.11arping:發(fā)送arp請求 / 367
10.12telnet:遠程登錄主機 / 369
10.13nc:多功能網(wǎng)絡工具 / 370
10.14ssh:安全地遠程登錄主機 / 373
10.15wget:命令行下載工具 / 376
10.16mailq:顯示郵件傳輸隊列 / 379
10.17mail:發(fā)送和接收郵件 / 381
10.18nslookup:域名查詢工具 / 386
10.19dig:域名查詢工具 / 389
10.20host:域名查詢工具 / 393
10.21nmap:網(wǎng)絡探測工具和安全/端口掃描器 / 394
10.22tcpdump:監(jiān)聽網(wǎng)絡流量 / 398
第11章 Linux系統(tǒng)管理命令 / 407
11.1lsof:查看進程打開的文件 / 407
11.2uptime:顯示系統(tǒng)的運行時間及負載 / 411
11.3free:查看系統(tǒng)內(nèi)存信息 / 411
11.4iftop:動態(tài)顯示網(wǎng)絡接口流量信息 / 413
11.5vmstat:虛擬內(nèi)存統(tǒng)計 / 415
11.6mpstat:CPU信息統(tǒng)計 / 419
11.7iostat:I/O信息統(tǒng)計 / 420
11.8iotop:動態(tài)顯示磁盤I/O統(tǒng)計信息 / 423
11.9sar:收集系統(tǒng)信息 / 425
11.10chkconfig:管理開機服務 / 430
11.11ntsysv:管理開機服務 / 433
11.12 setup:系統(tǒng)管理工具 / 434
11.13ethtool:查詢網(wǎng)卡參數(shù) / 436
11.14mii-tool:管理網(wǎng)絡接口的狀態(tài) / 437
11.19rpm:RPM包管理器 / 443
11.20yum:自動化RPM包管理工具 / 446
top命令
第12章 Linux系統(tǒng)常用內(nèi)置命令 / 450
12.1Linux內(nèi)置命令概述 / 450
12.2Linux內(nèi)置命令簡介 / 450
12.3Linux常用內(nèi)置命令實例 / 452
在linux中查看arp地址解析協(xié)議需要使用終端命令。
以Deepin linux為例,使用終端命令查看arp步驟如下所示:
1、在程序列表中點擊打開終端命令程序。
2、在終端命令中輸入查看arp命令:arp -g 。
3、如圖所示,即是本地arp地址解析協(xié)議。
關(guān)于LVS負載均衡
一、什么是負載均衡:
負載均衡集群提供了一種廉價、有效、透明的方法,來擴展網(wǎng)絡設備和
服務器的負載、帶寬、增加吞吐量、加強網(wǎng)絡數(shù)據(jù)處理能力,提高網(wǎng)絡的靈活性
和可用性。
二、搭建負載均衡服務的需求:
1)把單臺計算機無法承受的大規(guī)模的并發(fā)訪問或者數(shù)據(jù)流量分擔到多臺節(jié)點設備上
分別處理,減少用戶等待響應的時間,提升用戶體驗。
2)單個重負載的運算分擔到多臺節(jié)點設備上做并行處理,每個節(jié)點設備結(jié)束后,
將結(jié)果匯總,返回給用戶,系統(tǒng)處理能力得到大幅度提升。
3)7*24的服務保證,任意一個或多個有限節(jié)點設備宕機,要求不能影響業(yè)務。
三、LVS的介紹:
LVS是Linux Virtual Server的簡寫,即Linux虛擬服務器,是一個虛擬的服務器
集群系統(tǒng),可以在UNIX/LINUX平臺下實現(xiàn)負載均衡集群功能。
該項目是在1998年5月由章文嵩博士組織成立的,是中國國內(nèi)最早出現(xiàn)的自由
軟件項目之一。
四、關(guān)于LVS的配置使用:
LVS負載均衡調(diào)度技術(shù)是在Linux內(nèi)核中實現(xiàn)的,因此,被稱為Linux
虛擬服務器。我們使用該軟件配置LVS時候,不能直接配置內(nèi)核中的ipvs,
而需要使用ipvs的管理工具ipvsadm進行管理,ipvs的管理工具ipvsadm管理ipvs。
五、LVS技術(shù)點小結(jié):
1)真正實現(xiàn)負載均衡的工具是ipvs,工作在linux內(nèi)核層面。
2)LVS自帶的ipvs管理工具是ipvsadm。
3)keepalived實現(xiàn)管理ipvs及對負載均衡器的高可用。
4)Red hat工具Piranha WEB管理實現(xiàn)調(diào)度的工具ipvs。
六、LVS體系結(jié)構(gòu)與工作原理:
1)LVS集群負載均衡接收服務的所有入站客戶端計算機請求,并根據(jù)調(diào)度算法決定哪個集群節(jié)點應該處理回復請求。
負載均衡(LB)有時也被稱為LVS Director(簡稱 Director).
2)LVS虛擬服務器的體系結(jié)構(gòu)如下圖,一組服務器通過高速的局域網(wǎng)或者地理分布
的廣域網(wǎng)相互連接,在他們的前端有一個負載調(diào)度器(Load Balancer)。負載調(diào)度器能
無縫地將網(wǎng)絡請求調(diào)度到真正的服務器上,從而使得服務器集群的結(jié)構(gòu)對客戶是透明的,
客戶訪問集群系統(tǒng)提供的網(wǎng)絡服務就像訪問一臺高性能、高可用的服務器一樣。客戶程序
不受服務器集群的影響不需做任何修改。系統(tǒng)的伸縮性通過在服務集群中透明地加入和刪除
一個節(jié)點來達到,通過檢測節(jié)點或服務進程故障和正確的重置系統(tǒng)達到高可用性。由于我們的負載調(diào)度技術(shù)在
linux內(nèi)核中實現(xiàn)的,我們稱之為linux虛擬服務器(Linux Virtual Server)。
七、LVS社區(qū)提供了一個命名的約定:
名稱:? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 縮寫? ? ? ? ?
虛擬IP地址(Virtual IP Address)? ? VIP
說明:VIP為Director用于向客戶端計算機提供服務的ip地址,
比如: 域名就解析到vip上提供服務。
-------------------------------------------------------------------------------
真實ip地址(Real Server ip Address)? ? 縮寫:VIP
說明:在集群下面節(jié)點上使用的ip地址,物理ip地址。
-----------------------------------------------------------------------------------
Director的ip地址(Director ip Adress)? 縮寫:DIP
說明:Director用于連接內(nèi)外網(wǎng)絡的ip地址,物理網(wǎng)卡上的IP地址,
是負載均衡上的ip。
-------------------------------------------------------------------------------------
客戶端主機IP地址(Client IP Address)? 縮寫:CIP
說明:客戶端用戶計算機請求集群服務器的IP地址,該地址用作發(fā)送
給集群的請求的源ip地址。
----------------------------------------------------------------
LVS集群內(nèi)部的節(jié)點稱為真實服務器(Real server),也叫做集群節(jié)點。請求集群服務的
計算機稱為客戶端計算機。
與計算機通常在網(wǎng)上交換數(shù)據(jù)包的方式相同,客戶端計算機、Director
和真實服務器使用IP地址彼此進行通信。
------------------------------------------------------------------------------------------
八、LVS集群的3種工作模式介紹與原理講解
1)IP虛擬服務軟件ipvs,在調(diào)度器的實現(xiàn)技術(shù)中,IP負載均衡技術(shù)是
效率最高的。在已用的ip負載均衡技術(shù)中有通過網(wǎng)絡地址轉(zhuǎn)換
(Network Address Translation)將一組服務器構(gòu)成一個高性能的、高可用的虛擬服務器,
我們稱之為VS、NAT技術(shù)(Virtual Server Network Adress Translation)。
2)在分析VS/NAT的缺點和網(wǎng)絡服務的非對稱性的基礎上,我們提出通過IP隧道實現(xiàn)虛擬服務器的
方法VS/TUN(Virtual Server via IP Tunneling)和通過直接路由實現(xiàn)虛擬服務
器的方法VS/DR(Virtual Server via Director Routing),它們可以極大地提高系統(tǒng)的伸縮性。
3)淘寶開源的模式FULLNAT。
LVS的四種工作模式:
縮寫及全拼:
NAT(Network Adress Translation)、TUN(Tunneling)、
DR(Director Routing)、FULLNAT(FULL Network address Translation)
-------------------------------------------------------------------------------------------
九、什么是ARP協(xié)議:
1) ARP協(xié)議:全稱"Address Resolution Protocol",中文名地址解析協(xié)議,使用ARP協(xié)議可
實現(xiàn)通過IP地址獲得得對應主機的物理地址(MAC地址)。
在TCP/IP的網(wǎng)絡環(huán)境下,每個聯(lián)網(wǎng)的主機都會被分配一個32位的ip地址,
這種互聯(lián)網(wǎng)地址是在網(wǎng)際范圍標識主機的一種邏輯地址。為了讓報文在
物理網(wǎng)路上傳輸,還必須要知道對方目的主機的物理地址(MAC)才行。這樣就存在把IP地址變成
物理地址的地址轉(zhuǎn)換的問題。
在以太網(wǎng)環(huán)境,為了正確地目的主機傳送報文,必須把目的主機的32位IP
地址轉(zhuǎn)換成為目的主機48位以太網(wǎng)的地址(MAC地址)。這就需要在互聯(lián)層有一個服務或功能將
IP地址轉(zhuǎn)換為相應的物理地址(MAC地址),這個服務或者功能就是ARP協(xié)議。
所謂的“地址解析”,就是主機在發(fā)送幀之前將目標IP地址轉(zhuǎn)換成目標MAC地址的過程,
ARP協(xié)議的基本功能就是通過目標設備的ip地址,查詢目標設備的MAC地址,以保證主機
間互相通信的順利進行。
ARP協(xié)議和DNS有點相像之處,不同點是:DNS是在域名和IP之間的解析,另外,ARP協(xié)議不需要
配置服務,而DNS要配置服務才行。
ARP協(xié)議要求通信的主機雙方必須在同一個物理網(wǎng)段(即局域網(wǎng))!
2)關(guān)于ARP的小結(jié):
1.ARP全稱“Address Resolution Protocol”;
2.實現(xiàn)局域網(wǎng)內(nèi)通過IP地址獲取主機的MAC地址;
3.MAC地址48位主機的物理地址,局域網(wǎng)內(nèi)唯一;
4.ARP協(xié)議類似DNS服務,但不需要配置服務。
5.ARP協(xié)議是三層協(xié)議。
--------------------------------------------------------------------------------------------------------
十、ARP緩存表:
1)每臺安裝有TCP/IP協(xié)議的電腦都會有一個ARP緩存表(windows 命令提示符里輸入arp -a即可)。
表里的ip地址與MAC地址是一一對應的。
arp常用命令:
arp -a :查所有記錄
arp -d :清除
arp -s :綁定IP和MAC
2)ARP緩存表是把雙刃劍:
1.主機有了arp緩存表,可以加快ARP的解析速度,減少局域網(wǎng)內(nèi)廣播風暴。
2.正是有了arp緩存表,給惡意黑客帶來了攻擊服務器主機的風險,這個就是arp欺騙攻擊。
3.切換路由器,負載均衡器等設備時,可能會導致短時網(wǎng)絡中斷。
3)為啥用ARP協(xié)議?
OSI模型把網(wǎng)絡工作分為七層,彼此不直接通信打交道,只通過接口。IP地址工作在第三層,
MAC地址工作在第二層。當協(xié)議在發(fā)送數(shù)據(jù)包時,需要先封裝第三層IP地址,第二層MAC地址的報頭,
但是協(xié)議只知道目的節(jié)點的ip地址,不知道目的節(jié)點的MAC地址,又不能跨第二、三層,所以得用ARP協(xié)議服務,
來幫助獲取目的節(jié)點的MAC地址。
4)ARP在生產(chǎn)環(huán)境產(chǎn)生的問題及解決辦法:
1.ARP病毒,ARP欺騙
2.高可用服務器對之間切換時要考慮ARP緩存的問題。
3.路由器等設備無縫遷移時需要考慮ARP緩存的問題,例如:更換辦公室的路由器。
5)ARP欺騙原理:
ARP攻擊就是通過偽造IP地址和MAC地址對實現(xiàn)ARP欺騙的,如果一臺主機中了ARP病毒,
那么它就能在網(wǎng)絡中產(chǎn)生大量的ARP通信量,很快的進行廣播以至于使網(wǎng)絡阻塞,攻擊者
只要持續(xù)不斷的發(fā)出偽造的ARP響應就能更改局域網(wǎng)中目標主機ARP緩存中的IP-MAC條目,
造成網(wǎng)絡中斷或者中間人攻擊。
1.首先,右鍵點擊桌面,選擇“打開終端”,或者按CTRL+Alt+T打開終端。
2.在終端中輸入ifconfig命令并按Enter鍵運行。
3.在ifconfig命令的輸出信息中,enp3s0表示以太網(wǎng)卡。
4.hwaddr之后的信息是MAC地址,MAC地址是48位的二進制數(shù),總共6控制的話,一般用十六進制表示,使用每個字節(jié):
分開,每4位二進制數(shù)的使用十六進制數(shù)表示,每個字節(jié)有兩個十六進制數(shù)來表達,所以MAC地址有六個字段,由五個冒號分開通道。
從ip_finish_output2到dev_queue_xmit路徑:
arp協(xié)議:
(1).硬件類型:
硬件地址類型,該字段值一般為ARPHRD_ETHER,表示以太網(wǎng)。
(2).協(xié)議類型:
表示三層地址使用的協(xié)議,該字段值一般為ETH_P_IP,表示IP協(xié)議
(3)硬件地址長度,以太網(wǎng)MAC地址就是6;
(4)協(xié)議地址長度,IP地址就是4;
(5)操作碼
常見的有四種,arp請求,arp相應,rarp請求,rarp相應。
(6)發(fā)送方硬件地址與IP地址,(7)目標硬件地址與目標IP地址。
arp頭數(shù)據(jù)結(jié)構(gòu):
arp模塊的初始化函數(shù)為arp_init(),這個函數(shù)在ipv4協(xié)議棧的初始化函數(shù)inet_init()中被調(diào)用。
1.初始化arp表arp_tbl;
2.注冊arp協(xié)議類型;
3.建立arp相關(guān)proc文件,/proc/net/arp;
4.注冊通知事件
一個neigh_table對應一種鄰居協(xié)議,IPv4就是arp協(xié)議。用來存儲于鄰居協(xié)議相關(guān)的參數(shù)、功能函數(shù)、鄰居項散列表等。
一個neighbour對應一個鄰居項,就是一個arp條目
鄰居項函數(shù)指針表,實現(xiàn)三層和二層的dev_queue_xmit()之間的跳轉(zhuǎn)。
用來存儲統(tǒng)計信息,一個結(jié)構(gòu)實例對應一個網(wǎng)絡設備上的一種鄰居協(xié)議。
注冊arp報文類型 :dev_add_pack(arp_packet_type);
就是把arp_packet_type添加到ptype_base哈希表中。
注冊新通知事件的時候,在已經(jīng)注冊和UP的設備上,會調(diào)用一次這個通知事件。
設備事件類型:
創(chuàng)建一個鄰居項,并將其添加到散列表上,返回指向該鄰居項的指針。
tbl:待創(chuàng)建的鄰居項所屬的鄰居表,即arp_tbl;
pkey:三層協(xié)議地址(IP地址)
dev:輸出設備
want_ref:??
創(chuàng)建鄰居項
1.設置鄰居項的類型
2.設置鄰居項的ops指針
3.設置鄰居項的output函數(shù)指針
調(diào)用dst_link_failure()函數(shù)向三層報告錯誤,當鄰居項緩存中還有未發(fā)送的報文,而該鄰居卻無法訪問時被調(diào)用。不懂。
用來發(fā)送arp請求,在鄰居項狀態(tài)定時器處理函數(shù)中被調(diào)用。
neigh:arp請求的目的鄰居項
skb:緩存在該鄰居項中的待發(fā)送報文,用來獲取該skb的源ip地址。
將得到的硬件源、目的地址,IP源、目的地址等作為參數(shù),調(diào)用arp_send()函數(shù)創(chuàng)建一個arp報文并將其輸出。
創(chuàng)建及發(fā)送arp報文
創(chuàng)建arp報文,填充字段。
發(fā)送arp報文
用來從二層接收并處理一個arp報文。這個函數(shù)中就是做了一些參數(shù)檢查,然后調(diào)用arp_process()函數(shù)。
neigh_event_ns
neigh_update
這個函數(shù)的作用就是更新鄰居項硬件地址和狀態(tài)。分支比較多。
neigh_update_notify
代理arp(proxy arp),通常像路由器這樣的設備才使用,用來代替處于另一個網(wǎng)段的主機回答本網(wǎng)段主機的arp請求。
感覺代碼ARP好像沒啥用呀。
網(wǎng)絡主機發(fā)包的一般過程:
1.當目的IP和自己在同一網(wǎng)段時,直接arp請求該目的IP的MAC。
2.當目的IP和自己不再同一網(wǎng)段時,arp請求默認網(wǎng)關(guān)的MAC。
當主機沒有默認網(wǎng)關(guān)的時候,arp請求別的網(wǎng)段的報文,到達路由器后,本來路由器是要隔離廣播的,把這個arp請求報文給丟棄,這樣就沒法通信了。當路由器開啟arp proxy后,路由器發(fā)現(xiàn)請求的目的IP在其他網(wǎng)段,就自己給主機回復一個arp響應報文,這樣源主機就把路由器的MAC當成目的IP主機對應的MAC,可以通信了。這樣可能會造成主機arp表中,多個IP地址都對應于路由器的同一個MAC地址。
可以使用arping命令發(fā)送指定IP的arp請求報文。
寫完了發(fā)現(xiàn)這個老妹寫的arp代理文章蠻好的,不過她好像是轉(zhuǎn)載的。
分享題目:linux的arp命令,linux arping命令
本文地址:http://vcdvsql.cn/article48/hshdep.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供微信小程序、微信公眾號、網(wǎng)站維護、面包屑導航、企業(yè)建站、關(guān)鍵詞優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)