導航:首頁 > 編程系統 > linuxbio

linuxbio

發布時間:2023-07-28 16:19:24

linux內核設計與實現的目錄

譯者序
序言
前言
作者簡介
第1章Linux內核簡介1
1.1Unix的歷史1
1.2追尋Linus足跡:Linux簡介2
1.3操作系統和內核簡介3
1.4Linux內核和傳統Unix內核的比較5
1.5Linux內核版本7
1.6Linux內核開發者社區8
1.7小結8
第2章從內核出發10
2.1獲取內核源碼10
2.1.1使用Git10
2.1.1安裝內核源代碼10
2.1.3使用補丁11
2.2內核源碼樹11
2.3編譯內核12
2.3.1配置內核12
2.3.2減少編譯的垃圾信息14
2.3.3衍生多個編譯作業 14
2.3.4安裝新內核14
2.4內核開發的特點15
2.4.1無libc庫抑或無標准頭文件15
2.4.2GNU C16
2.4.3沒有內存保護機制18
2.4.4不要輕易在內核中使用浮點數18
2.4.5容積小而固定的棧18
2.4.6同步和並發18
2.4.7可移植性的重要性19
2.5小結19
第3章進程管理20
3.1進程20
3.2進程描述符及任務結構 21
3.2.1分配進程描述符22
3.2.2進程描述符的存放23
3.2.3進程狀態23
3.2.4設置當前進程狀態25
3.2.5進程上下文25
3.2.6進程家族樹25
3.3進程創建26
3.3.1寫時拷貝27
3.3.2fork()27
3.3.3vfork()28
3.4線程在Linux中的實現28
3.4.1創建線程29
3.4.2內核線程30
3.5進程終結31
3.5.1刪除進程描述符32
3.5.2孤兒進程造成的進退維谷32
3.6小結34
第4章進程調度35
4.1多任務35
4.2Linux 的進程調度36
4.3策略36
4.3.1I/O消耗型和處理器消耗型的進程36
4.3.2進程優先順序37
4.3.3時間片38
4.3.4調度策略的活動38
4.4Linux調度演算法39
4.4.1調度器類39
4.4.2Unix 系統中的進程調度40
4.4.3公平調度41
4.5Linux調度的實現42
4.5.1時間記賬42
4.5.2進程選擇44
4.5.3調度器入口48
4.5.4睡眠和喚醒49
4.6搶占和上下文切換51
4.6.1用戶搶佔53
4.6.2內核搶佔53
4.7實時調度策略54
4.8與調度相關的系統調用54
4.8.1與調度策略和優先順序相關的系統調用55
4.8.2與處理器綁定有關的系統調用55
4.8.3放棄處理器時間56
4.9小結56
第5章系統調用57
5.1與內核通信57
5.2API、POSIX和C庫57
5.3系統調用58
5.3.1系統調用號59
5.3.2系統調用的性能59
5.4系統調用處理程序60
5.4.1指定恰當的系統調用60
5.4.2參數傳遞60
5.5系統調用的實現61
5.5.1實現系統調用61
5.5.2參數驗證62
5.6系統調用上下文64
5.6.1綁定一個系統調用的最後步驟65
5.6.2從用戶空間訪問系統調用67
5.6.3為什麼不通過系統調用的方式實現68
5.7小結68
第6章內核數據結構69
6.1鏈表69
6.1.1單向鏈表和雙向鏈表69
6.1.2環形鏈表70
6.1.3沿鏈表移動71
6.1.4Linux 內核中的實現71
6.1.5操作鏈表73
6.1.6遍歷鏈表75
6.2隊列78
6.2.1kfifo79
6.2.2創建隊列79
6.2.3推入隊列數據79
6.2.4摘取隊列數據80
6.2.5獲取隊列長度80
6.2.6重置和撤銷隊列80
6.2.7隊列使用舉例 81
6.3映射 81
6.3.1初始化一個idr82
6.3.2分配一個新的UID82
6.3.3查找UID83
6.3.4刪除UID84
6.3.5撤銷idr84
6.4二叉樹84
6.4.1二叉搜索樹84
6.4.2自平衡二叉搜索樹 85
6.5數據結構以及選擇 87
6.6演算法復雜度88
6.6.1演算法88
6.6.2大o 符號88
6.6.3大θ符號89
6.6.4時間復雜度89
6.7小結 90
第7章中斷和中斷處理91
7.1中斷91
7.2中斷處理程序92
7.3上半部與下半部的對比93
7.4注冊中斷處理程序93
7.4.1中斷處理程序標志94
7.4.2一個中斷例子95
7.4.3釋放中斷處理程序95
7.5編寫中斷處理程序96
7.5.1共享的中斷處理程序97
7.5.2中斷處理程序實例97
7.6中斷上下文99
7.7中斷處理機制的實現100
7.8/proc/interrupts102
7.9中斷控制103
7.9.1禁止和激活中斷103
7.9.2禁止指定中斷線105
7.9.3中斷系統的狀態105
7.10小結106
第8章下半部和推後執行的工作107
8.1下半部107
8.1.1為什麼要用下半部108
8.1.2下半部的環境108
8.2軟中斷110
8.2.1軟中斷的實現111
8.2.2使用軟中斷113
8.3tasklet114
8.3.1tasklet的實現114
8.3.2使用tasklet116
8.3.3老的BH機制119
8.4工作隊列120
8.4.1工作隊列的實現121
8.4.2使用工作隊列124
8.4.3老的任務隊列機制126
8.5下半部機制的選擇127
8.6在下半部之間加鎖128
8.7禁止下半部128
8.8小結129
第9章內核同步介紹131
9.1臨界區和競爭條件131
9.1.1為什麼我們需要保護132
9.1.2單個變數133
9.2加鎖134
9.2.1造成並發執行的原因135
9.2.2了解要保護些什麼136
9.3死鎖137
9.4爭用和擴展性138
9.5小結140
第10章內核同步方法141
10.1原子操作141
10.1.1原子整數操作142
10.1.264位原子操作144
10.1.3原子位操作145
10.2自旋鎖147
10.2.1自旋鎖方法148
10.2.2其他針對自旋鎖的操作149
10.2.3自旋鎖和下半部150
10.3讀-寫自旋鎖150
10.4信號量152
10.4.1計數信號量和二值信號量153
10.4.2創建和初始化信號量154
10.4.3使用信號量154
10.5讀-寫信號量155
10.6互斥體156
10.6.1信號量和互斥體158
10.6.2自旋鎖和互斥體158
10.7完成變數158
10.8BLK:大內核鎖159
10.9順序鎖160
10.10禁止搶佔161
10.11順序和屏障162
10.12小結165
第11章定時器和時間管理166
11.1內核中的時間概念166
11.2節拍率:HZ167
11.2.1理想的HZ值168
11.2.2高HZ的優勢169
11.2.3高HZ的劣勢169
11.3jiffies170
11.3.1jiffies的內部表示171
11.3.2jiffies 的回繞172
11.3.3用戶空間和HZ173
11.4硬時鍾和定時器174
11.4.1實時時鍾174
11.4.2系統定時器174
11.5時鍾中斷處理程序174
11.6實際時間176
11.7定時器178
11.7.1使用定時器178
11.7.2定時器競爭條件180
11.7.3實現定時器180
11.8延遲執行181
11.8.1忙等待181
11.8.2短延遲182
11.8.3schele_timeout()183
11.9小結185
第12章內存管理186
12.1頁186
12.2區187
12.3獲得頁189
12.3.1獲得填充為0的頁190
12.3.2釋放頁191
12.4kmalloc()191
12.4.1gfp_mask標志192
12.4.2kfree()195
12.5vmalloc()196
12.6slab層197
12.6.1slab層的設計198
12.6.2slab分配器的介面200
12.7在棧上的靜態分配203
12.7.1單頁內核棧203
12.7.2在棧上光明正大地工作203
12.8高端內存的映射204
12.8.1永久映射204
12.8.2臨時映射204
12.9每個CPU的分配20512.10新的每個CPU介面206
12.10.1編譯時的每個CPU數據206
12.10.2運行時的每個CPU數據207
12.11使用每個CPU數據的原因208
12.12分配函數的選擇209
12.13小結209
第13章虛擬文件系統210
13.1通用文件系統介面210
13.2文件系統抽象層211
13.3Unix文件系統212
13.4VFS 對象及其數據結構213
13.5超級塊對象214
13.6超級塊操作215
13.7索引節點對象217
13.8索引節點操作219
13.9目錄項對象222
13.9.1目錄項狀態222
13.9.2目錄項緩存223
13.10目錄項操作224
13.11文件對象225
13.12文件操作226
13.13和文件系統相關的數據結構230
13.14和進程相關的數據結構232
13.15小結233
第14章塊I/O層234
14.1剖析一個塊設備234
14.2緩沖區和緩沖區頭235
14.3bio結構體237
14.3.1I/O向量238
14.3.2新老方法對比239
14.4請求隊列240
14.5I/O調度程序240
14.5.1I/O調度程序的工作241
14.5.2Linus 電梯241
14.5.3最終期限I/O調度程序242
14.5.4預測I/O調度程序244
14.5.5完全公正的排隊I/O調度程序244
14.5.6空操作的I/O調度程序245
14.5.7I/O調度程序的選擇245
14.6小結246
第15章進程地址空間247
15.1地址空間247
15.2內存描述符248
15.2.1分配內存描述符249
15.2.2撤銷內存描述符250
15.2.3mm_struct 與內核線程250
15.3虛擬內存區域251
15.3.1VMA標志251
15.3.2VMA 操作253
15.3.3內存區域的樹型結構和內存區域的鏈表結構254
15.3.4實際使用中的內存區域254
15.4操作內存區域255
15.4.1find_vma()256
15.4.2find_vma_prev()257
15.4.3find_vma_intersection()257
15.5mmap()和do_mmap():創建地址區間258
15.6mummap()和do_mummap():刪除地址區間259
15.7頁表260
15.8小結261
第16章頁高速緩存和頁回寫262
16.1緩存手段262
16.1.1寫緩存262
16.1.2緩存回收263
16.2Linux 頁高速緩存264
16.2.1address_space對象264
16.2.2address_space 操作266
16.2.3基樹267
16.2.4以前的頁散列表268
16.3緩沖區高速緩存268
16.4flusher線程268
16.4.1膝上型計算機模式270
16.4.2歷史上的bdflush、kupdated 和pdflush270
16.4.3避免擁塞的方法:使用多線程271
16.5小結271
第17章設備與模塊273
17.1設備類型273
17.2模塊274
17.2.1Hello,World274
17.2.2構建模塊275
17.2.3安裝模塊277
17.2.4產生模塊依賴性277
17.2.5載入模塊278
17.2.6管理配置選項279
17.2.7模塊參數280
17.2.8導出符號表282
17.3設備模型283
17.3.1kobject283
17.3.2ktype284
17.3.3kset285
17.3.4kobject、ktype和kset的相互關系285
17.3.5管理和操作kobject286
17.3.6引用計數287
17.4sysfs288
17.4.1sysfs中添加和刪除kobject 290
17.4.2向sysfs中添加文件291
17.4.3內核事件層293
17.5小結294
第18章調試295
18.1准備開始295
18.2內核中的bug296
18.3通過列印來調試296
18.3.1健壯性296
18.3.2日誌等級297
18.3.3記錄緩沖區298
18.3.4syslogd和klogd298
18.3.5從printf()到printk()的轉換298
18.4oops298
18.4.1ksymoops300
18.4.2kallsyms300
18.5內核調試配置選項301
18.6引發bug並列印信息301
18.7神奇的系統請求鍵302
18.8內核調試器的傳奇303
18.8.1gdb303
18.8.2kgdb304
18.9探測系統304
18.9.1用UID作為選擇條件304
18.9.2使用條件變數305
18.9.3使用統計量305
18.9.4重復頻率限制305
18.10用二分查找法找出引發罪惡的變更306
18.11使用Git進行二分搜索307
18.12當所有的努力都失敗時:社區308
18.13小結308
第19章可移植性309
19.1可移植操作系統309
19.2Linux移植史310
19.3字長和數據類型311
19.3.1不透明類型313
19.3.2指定數據類型314
19.3.3長度明確的類型314
19.3.4char型的符號問題315
19.4數據對齊315
19.4.1避免對齊引發的問題316
19.4.2非標准類型的對齊316
19.4.3結構體填補316
19.5位元組順序318
19.6時間319
19.7頁長度320
19.8處理器排序320
19.9SMP、內核搶占、高端內存321
19.10小結321
第20章補丁、開發和社區322
20.1社區322
20.2Linux編碼風格322
20.2.1縮進323
20.2.2switch 語句323
20.2.3空格324
20.2.4花括弧325
20.2.5每行代碼的長度326
20.2.6命名規范326
20.2.7函數326
20.2.8注釋326
20.2.9typedef327
20.2.10多用現成的東西328
20.2.11在源碼中減少使用ifdef328
20.2.12結構初始化328
20.2.13代碼的事後修正329
20.3管理系統329
20.4提交錯誤報告329
20.5補丁330
20.5.1創建補丁330
20.5.2用Git創建補丁331
20.5.3提交補丁331
20.6小結332
參考資料333

Ⅱ linux怎麼把block層的bio request發給scsi底層驅動從submit

plug的用於延時處理,以便收集多個request之後再批量發送給底層磁碟。
不過現在磁碟越來越快,這個plug引入延時緩存的技術已經是沒必要的啦? 至少ssd磁碟應該不會再用了。
所以很多plug延時相關的介面都變了,struct request_queue 裡面plug_fn都沒有了,相關的定時器也被刪了。
如果少數情況要使用plug的話,應該是類似下面這種on-stack plug的用法了。

Ⅲ 請給出常用應用程序所用的埠

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

1 tcpmux 這顯示有人在尋找SGI Irix機器。Irix是實現tcpmux的主要提供者,預設情況下tcpmux在這種系統中被打開。Iris機器在發布時含有幾個預設的無密碼的帳戶,如lp, guest, uucp, nuucp, demos, tutor, diag, EZsetup, OutOfBox, 和4Dgifts。許多管理員安裝後忘記刪除這些帳戶。因此Hacker們在Internet上搜索tcpmux並利用這些帳戶。

7 Echo 你能看到許多人們搜索Fraggle放大器時,發送到x.x.x.0和x.x.x.255的信息。常見的一種DoS攻擊是echo循環(echo-loop),攻擊者偽造從一個機器發送到另一個機器的UDP數據包,而兩個機器分別以它們最快的方式回應這些數據包。另一種東西是由DoubleClick在詞埠建立的TCP連接。有一種產品叫做「Resonate Global Dispatch」,它與DNS的這一埠連接以確定最近的路由。Harvest/squid cache將從3130埠發送UDP echo:「如果將cache的source_ping on選項打開,它將對原始主機的UDP echo埠回應一個HIT reply。」這將會產生許多這類數據包。

11 sysstat 這是一種UNIX服務,它會列出機器上所有正在運行的進程以及是什麼啟動了這些進程。這為入侵者提供了許多信息而威脅機器的安全,如暴露已知某些弱點或帳戶的程序。這與UNIX系統中「ps」命令的結果相似。再說一遍:ICMP沒有埠,ICMP port 11通常是ICMP type=11。

19 chargen 這是一種僅僅發送字元的服務。UDP版本將會在收到UDP包後回應含有垃圾字元的包。TCP連接時,會發送含有垃圾字元的數據流知道連接關閉。Hacker利用IP欺騙可以發動DoS攻擊。偽造兩個chargen伺服器之間的UDP包。由於伺服器企圖回應兩個伺服器之間的無限的往返數據通訊一個chargen和echo將導致伺服器過載。同樣fraggle DoS攻擊向目標地址的這個埠廣播一個帶有偽造受害者IP的數據包,受害者為了回應這些數據而過載。

21 ftp 最常見的攻擊者用於尋找打開「anonymous」的ftp伺服器的方法。這些伺服器帶有可讀寫的目錄。Hackers或Crackers 利用這些伺服器作為傳送warez (私有程序) 和pr0n(故意拼錯詞而避免被搜索引擎分類)的節點。

22 ssh PcAnywhere 建立TCP和這一埠的連接可能是為了尋找ssh。這一服務有許多弱點。如果配置成特定的模式,許多使用RSAREF庫的版本有不少漏洞。(建議在其它埠運行ssh)。還應該注意的是ssh工具包帶有一個稱為make-ssh-known-hosts的程序。它會掃描整個域的ssh主機。你有時會被使用這一程序的人無意中掃描到。UDP(而不是TCP)與另一端的5632埠相連意味著存在搜索pcAnywhere的掃描。5632(十六進制的0x1600)位交換後是0x0016(使進制的22)。

23 Telnet 入侵者在搜索遠程登陸UNIX的服務。大多數情況下入侵者掃描這一埠是為了找到機器運行的操作系統。此外使用其它技術,入侵者會找到密碼。

25 smtp 攻擊者(spammer)尋找SMTP伺服器是為了傳遞他們的spam。入侵者的帳戶總被關閉,他們需要撥號連接到高帶寬的e-mail伺服器上,將簡單的信息傳遞到不同的地址。SMTP伺服器(尤其是sendmail)是進入系統的最常用方法之一,因為它們必須完整的暴露於Internet且郵件的路由是復雜的(暴露+復雜=弱點)。

53 DNS Hacker或crackers可能是試圖進行區域傳遞(TCP),欺騙DNS(UDP)或隱藏其它通訊。因此防火牆常常過濾或記錄53埠。需要注意的是你常會看到53埠做為UDP源埠。不穩定的防火牆通常允許這種通訊並假設這是對DNS查詢的回復。Hacker常使用這種方法穿透防火牆。

67&68 Bootp和DHCP UDP上的Bootp/DHCP:通過DSL和cable-modem的防火牆常會看見大量發送到廣播地址255.255.255.255的數據。這些機器在向DHCP伺服器請求一個地址分配。Hacker常進入它們分配一個地址把自己作為局部路由器而發起大量的「中間人」(man-in-middle)攻擊。客戶端向68埠(bootps)廣播請求配置,伺服器向67埠(bootpc)廣播回應請求。這種回應使用廣播是因為客戶端還不知道可以發送的IP地址。

69 TFTP(UDP) 許多伺服器與bootp一起提供這項服務,便於從系統下載啟動代碼。但是它們常常錯誤配置而從系統提供任何文件,如密碼文件。它們也可用於向系統寫入文件。

79 finger Hacker用於獲得用戶信息,查詢操作系統,探測已知的緩沖區溢出錯誤,回應從自己機器到其它機器finger掃描。

80 web站點默認80為服務埠,採用tcp或udp協議。

98 linuxconf 這個程序提供linux boxen的簡單管理。通過整合的HTTP伺服器在98埠提供基於Web界面的服務。它已發現有許多安全問題。一些版本setuid root,信任區域網,在/tmp下建立Internet可訪問的文件,LANG環境變數有緩沖區溢出。此外因為它包含整合的伺服器,許多典型的HTTP漏洞可能存在(緩沖區溢出,歷遍目錄等)

109 POP2 並不象POP3那樣有名,但許多伺服器同時提供兩種服務(向後兼容)。在同一個伺服器上POP3的漏洞在POP2中同樣存在。

110 POP3 用於客戶端訪問伺服器端的郵件服務。POP3服務有許多公認的弱點。關於用戶名和密碼交換緩沖區溢出的弱點至少有20個(這意味著Hacker可以在真正登陸前進入系統)。成功登陸後還有其它緩沖區溢出錯誤。

111 sunrpc portmap rpcbind Sun RPC PortMapper/RPCBIND。訪問portmapper是掃描系統查看允許哪些RPC服務的最早的一步。常見RPC服務有:rpc.mountd, NFS, rpc.statd, rpc.csmd, rpc.ttybd, amd等。入侵者發現了允許的RPC服務將轉向提供服務的特定埠測試漏洞。記住一定要記錄線路中的daemon, IDS, 或sniffer,你可以發現入侵者正使用什麼程序訪問以便發現到底發生了什麼。

113 Ident auth 這是一個許多機器上運行的協議,用於鑒別TCP連接的用戶。使用標準的這種服務可以獲得許多機器的信息(會被Hacker利用)。但是它可作為許多服務的記錄器,尤其是FTP, POP, IMAP, SMTP和IRC等服務。通常如果有許多客戶通過防火牆訪問這些服務,你將會看到許多這個埠的連接請求。記住,如果你阻斷這個埠客戶端會感覺到在防火牆另一邊與e-mail伺服器的緩慢連接。許多防火牆支持在TCP連接的阻斷過程中發回RST,著將回停止這一緩慢的連接。

119 NNTP news 新聞組傳輸協議,承載USENET通訊。當你鏈接到諸如:news://comp.security.firewalls/. 的地址時通常使用這個埠。這個埠的連接企圖通常是人們在尋找USENET伺服器。多數ISP限制只有他們的客戶才能訪問他們的新聞組伺服器。打開新聞組伺服器將允許發/讀任何人的帖子,訪問被限制的新聞組伺服器,匿名發帖或發送spam。

135 oc-serv MS RPC end-point mapper Microsoft在這個埠運行DCE RPC end-point mapper為它的DCOM服務。這與UNIX 111埠的功能很相似。使用DCOM和/或RPC的服務利用機器上的end-point mapper注冊它們的位置。遠端客戶連接到機器時,它們查詢end-point mapper找到服務的位置。同樣Hacker掃描機器的這個埠是為了找到諸如:這個機器上運行Exchange Server嗎?是什麼版本?這個埠除了被用來查詢服務(如使用epmp)還可以被用於直接攻擊。有一些DoS攻擊直接針對這個埠。

137 NetBIOS name service nbtstat (UDP) 這是防火牆管理員最常見的信息。

139 NetBIOS File and Print Sharing 通過這個埠進入的連接試圖獲得NetBIOS/SMB服務。這個協議被用於Windows「文件和列印機共享」和SAMBA。在Internet上共享自己的硬碟是可能是最常見的問題。大量針對這一埠始於1999,後來逐漸變少。2000年又有回升。一些VBS(IE5 VisualBasic Scripting)開始將它們自己拷貝到這個埠,試圖在這個埠繁殖。

143 IMAP 和上面POP3的安全問題一樣,許多IMAP伺服器有緩沖區溢出漏洞運行登陸過程中進入。記住:一種Linux蠕蟲(admw0rm)會通過這個埠繁殖,因此許多這個埠的掃描來自不知情的已被感染的用戶。當RadHat在他們的Linux發布版本中默認允許IMAP後,這些漏洞變得流行起來。Morris蠕蟲以後這還是第一次廣泛傳播的蠕蟲。這一埠還被用於IMAP2,但並不流行。已有一些報道發現有些0到143埠的攻擊源於腳本。

161 SNMP(UDP) 入侵者常探測的埠。SNMP允許遠程管理設備。所有配置和運行信息都儲存在資料庫中,通過SNMP客獲得這些信息。許多管理員錯誤配置將它們暴露於Internet。Crackers將試圖使用預設的密碼「public」「private」訪問系統。他們可能會試驗所有可能的組合。SNMP包可能會被錯誤的指向你的網路。Windows機器常會因為錯誤配置將HP JetDirect remote management軟體使用SNMP。HP OBJECT IDENTIFIER將收到SNMP包。新版的Win98使用SNMP解析域名,你會看見這種包在子網內廣播(cable modem, DSL)查詢sysName和其它信息。

162 SNMP trap 可能是由於錯誤配置

177 xdmcp 許多Hacker通過它訪問X-Windows控制台, 它同時需要打開6000埠。

513 rwho 可能是從使用cable modem或DSL登陸到的子網中的UNIX機器發出的廣播。這些人為Hacker進入他們的系統提供了很有趣的信息。

553 CORBA IIOP (UDP) 如果你使用cable modem或DSL VLAN,你將會看到這個埠的廣播。CORBA是一種面向對象的RPC(remote procere call)系統。Hacker會利用這些信息進入系統。

600 Pcserver backdoor 請查看1524埠。
一些玩script的孩子認為他們通過修改ingreslock和pcserver文件已經完全攻破了系統-- Alan J. Rosenthal.

635 mountd Linux的mountd Bug。這是人們掃描的一個流行的Bug。大多數對這個埠的掃描是基於UDP的,但基於TCP的mountd有所增加(mountd同時運行於兩個埠)。記住,mountd可運行於任何埠(到底在哪個埠,需要在埠111做portmap查詢),只是Linux默認為635埠,就象NFS通常運行於2049埠。

1024 許多人問這個埠是干什麼的。它是動態埠的開始。許多程序並不在乎用哪個埠連接網路,它們請求操作系統為它們分配「下一個閑置埠」。基於這一點分配從埠1024開始。這意味著第一個向系統請求分配動態埠的程序將被分配埠1024。為了驗證這一點,你可以重啟機器,打開Telnet,再打開一個窗口運行「natstat -a」,你將會看到Telnet被分配1024埠。請求的程序越多,動態埠也越多。操作系統分配的埠將逐漸變大。再來一遍,當你瀏覽Web頁時用「netstat」查看,每個Web頁需要一個新埠。

1025,1026 參見1024

1080 SOCKS 這一協議以管道方式穿過防火牆,允許防火牆後面的許多人通過一個IP地址訪問Internet。理論上它應該只允許內部的通信向外達到Internet。但是由於錯誤的配置,它會允許Hacker/Cracker的位於防火牆外部的攻擊穿過防火牆。或者簡單地回應位於Internet上的計算機,從而掩飾他們對你的直接攻擊。WinGate是一種常見的Windows個人防火牆,常會發生上述的錯誤配置。在加入IRC聊天室時常會看到這種情況。

1114 SQL 系統本身很少掃描這個埠,但常常是sscan腳本的一部分。

1243 Sub-7木馬(TCP)

1524 ingreslock 後門許多攻擊腳本將安裝一個後門Shell於這個埠(尤其是那些針對Sun系統中sendmail和RPC服務漏洞的腳本,如statd, ttdbserver和cmsd)。如果你剛剛安裝了你的防火牆就看到在這個埠上的連接企圖,很可能是上述原因。你可以試試Telnet到你的機器上的這個埠,看看它是否會給你一個Shell。連接到600/pcserver也存在這個問題。

2049 NFS NFS程序常運行於這個埠。通常需要訪問portmapper查詢這個服務運行於哪個埠,但是大部分情況是安裝後NFS運行於這個埠,Hacker/Cracker因而可以閉開portmapper直接測試這個埠。

3128 squid 這是Squid HTTP代理伺服器的默認埠。攻擊者掃描這個埠是為了搜尋一個代理伺服器而匿名訪問Internet。你也會看到搜索其它代理伺服器的埠:8000/8001/8080/8888。掃描這一埠的另一原因是:用戶正在進入聊天室。其它用戶(或伺服器本身)也會檢驗這個埠以確定用戶的機器是否支持代理。

5632 pcAnywere 你會看到很多這個埠的掃描,這依賴於你所在的位置。當用戶打開pcAnywere時,它會自動掃描區域網C類網以尋找可能得代理(譯者:指agent而不是proxy)。Hacker/cracker也會尋找開放這種服務的機器,所以應該查看這種掃描的源地址。一些搜尋pcAnywere的掃描常包含埠22的UDP數據包。

6776 Sub-7 artifact 這個埠是從Sub-7主埠分離出來的用於傳送數據的埠。例如當控制者通過電話線控制另一台機器,而被控機器掛斷時你將會看到這種情況。因此當另一人以此IP撥入時,他們將會看到持續的,在這個埠的連接企圖。(譯者:即看到防火牆報告這一埠的連接企圖時,並不表示你已被Sub-7控制。)

6970 RealAudio RealAudio客戶將從伺服器的6970-7170的UDP埠接收音頻數據流。這是由TCP7070埠外向控制連接設置的。

13223 PowWow PowWow 是Tribal Voice的聊天程序。它允許用戶在此埠打開私人聊天的連接。這一程序對於建立連接非常具有「進攻性」。它會「駐扎」在這一TCP埠等待回應。這造成類似心跳間隔的連接企圖。如果你是一個撥號用戶,從另一個聊天者手中「繼承」了IP地址這種情況就會發生:好象很多不同的人在測試這一埠。這一協議使用「OPNG」作為其連接企圖的前四個位元組。

17027 Concent 這是一個外向連接。這是由於公司內部有人安裝了帶有Concent "adbot" 的共享軟體。Concent "adbot"是為共享軟體顯示廣告服務的。使用這種服務的一種流行的軟體是Pkware。有人試驗:阻斷這一外向連接不會有任何問題,但是封掉IP地址本身將會導致adbots持續在每秒內試圖連接多次而導致連接過載:
機器會不斷試圖解析DNS名—ads.concent.com,即IP地址216.33.210.40 ;216.33.199.77 ;216.33.199.80 ;216.33.199.81;216.33.210.41。(譯者:不知NetAnts使用的Radiate是否也有這種現象)

27374 Sub-7木馬(TCP)

30100 NetSphere木馬(TCP) 通常這一埠的掃描是為了尋找中了NetSphere木馬。

31337 Back Orifice 「elite」 Hacker中31337讀做「elite」/ei』li:t/(譯者:法語,譯為中堅力量,精華。即3=E, 1=L, 7=T)。因此許多後門程序運行於這一埠。其中最有名的是Back Orifice。曾經一段時間內這是Internet上最常見的掃描。現在它的流行越來越少,其它的木馬程序越來越流行。

31789 Hack-a-tack 這一埠的UDP通訊通常是由於"Hack-a-tack"遠程訪問木馬(RAT, Remote Access Trojan)。這種木馬包含內置的31790埠掃描器,因此任何31789埠到317890埠的連接意味著已經有這種入侵。(31789埠是控制連接,317890埠是文件傳輸連接)

32770~32900 RPC服務 Sun Solaris的RPC服務在這一范圍內。詳細的說:早期版本的Solaris(2.5.1之前)將portmapper置於這一范圍內,即使低埠被防火牆封閉仍然允許Hacker/cracker訪問這一埠。掃描這一范圍內的埠不是為了尋找portmapper,就是為了尋找可被攻擊的已知的RPC服務。

33434~33600 traceroute 如果你看到這一埠范圍內的UDP數據包(且只在此范圍之內)則可能是由於traceroute。

Ⅳ 安裝Bio-Linux時,無法將GRUB安裝到/dev/sda

電腦出現grub問題開不了機,建議如下:
按F5跳過檢索,建議開機後用網路衛士全面體檢電腦
這個是硬碟讀取問題,正常的,有時候電腦硬碟會出現

如果以上方法無效或者開不了機,建議修復引導boot或者重裝系統。

閱讀全文

與linuxbio相關的資料

熱點內容
qq歡迎使用影音播放 瀏覽:322
網路列印機怎麼查看電腦的密碼 瀏覽:980
淘寶賣二手的app叫什麼名字 瀏覽:217
安卓代碼讀取界面信息 瀏覽:714
數控車床車55度螺紋怎麼編程 瀏覽:391
word桌面找不到文件 瀏覽:585
數控車床編程怎麼做到的 瀏覽:639
哈爾濱市行政區劃代碼 瀏覽:716
如何顯示文件擴張 瀏覽:283
ps怎麼移植文件 瀏覽:443
傳奇補丁文件說明 瀏覽:513
奧維地圖怎麼設置網路疊加 瀏覽:407
linux載入庫文件so失敗 瀏覽:714
大家都想要的app 瀏覽:58
程序員比特幣 瀏覽:568
mysqlfrm是什麼文件 瀏覽:665
win10點擊文件夾聲音消失 瀏覽:963
蘋果手機空白文件名 瀏覽:833
linuxmv覆蓋合並文件夾 瀏覽:932
不開訪客網路怎麼聯網 瀏覽:631

友情鏈接