sendmail程序接受到待發郵件後,經過關鍵字@判斷郵件的格式是否符合要求,匹配成功後提取郵件後綴域名信息並查詢DNS數據庫相關MX(郵件專用)記錄,如有匹配信息多於一條,選擇優先級更高的主機IP進行投遞,若是沒有查詢到相關域名的MX記錄則嘗試與其根域名(163.com)25端口通信並投遞郵件,成功鏈接則投遞信件,失敗則將郵件打包退還發件者。linux
A:10.0.0.0 ~ 10.255.255.255程序員
B:172.16.0.0 ~ 172.31.255.255web
C:192.168.0.0 ~ 192.168.255.255正則表達式
國外:Mcafee,AVAST,BitDefender,Kaspersky,ESET Nod32,Symantec,AVIRA(小紅傘),Dr.web算法
網內:金山,江民,微點,瑞星,360,VRV背信源,安鐵諾,可牛,超級巡警sql
Mcafee:Intel antivirus software,邁克菲。shell
AVAST:avast是一款來自捷克的殺毒軟件,已有數十年的歷史,avast在國外市場一直處於領先地位。avast分爲家庭版、商業版、手機版以及專爲Linux和Mac設計的版本等等衆多版本。avast的實時監控功能十分強大,免費版的avast殺毒軟件擁有八大防禦模塊:文件系統防禦、網頁防禦、郵件防禦、網絡防禦、P2P防禦、即時消息防禦、行爲防禦、腳本防禦。免費版的須要每一年註冊一次,註冊是免費的!數據庫
BitDefender:BitDefender(中文名:比特梵德,簡稱BD)是來自羅馬尼亞的老牌殺毒軟件,擁有超大病毒庫,防病毒引擎被業界公認領先,獨有遊戲免打擾模式,TopTenREVIEWS網站全球殺毒軟件評比排名第一!用戶遍佈100多個國家和地區,以小於4小時的新病毒響應時間在衆多防病毒軟件中獨佔鰲頭。安全
Kaspersky:卡巴斯基服務器
ESET Nod32:ESET這一名稱最先來源於埃及神話中的女神Isis。
nessus:漏洞掃描器提供幾個重要的掃描特性,好比高速發現、資產概況和漏洞分析。
Nmap:是一個用於網絡檢測或安全審計的免費開源工具。
SAINT:漏洞掃描器只提供集成漏洞評估和滲透測試工具。
metasploit:Metasploit Project 是已經催生了大量工具的一系列項目的總和,這些工具用途普遍,幾乎能夠完成從擊敗法規約束到躲避對其最著名軟件 —— Metasploit Framework —— 的探測的任何任務。Metasploit 的設計初衷並非做爲一個黑客工具,儘管它聽起來就像是一個黑客工具。實際上,這個工具的主要目標是研究安全性。可是,就像這種類型的其餘工具同樣,它的用途取決於使用者。記住,「權力越大,責任越大」,所以,請當心使用
ps:
簡言之,漏洞掃描器 是專門設計用於查找和暴露應用程序和操做系統中的弱點的軟件。每一個掃描器可能都有本身的掃描和探測方法,但它們的結果都大同小異:報告所發現的問題或輸出信息。
本地漏洞掃描器 host scaner有:COPS,tripewire,tiger只能掃描本地存在的漏洞。
網絡漏洞掃描器:nsfocus的極光遠程安全評估系統,優勢:硬件設備,掃描不佔系統資源,快速高效準確。缺點:付費產品且較貴。
漏洞掃描過程能夠劃分爲一系列步驟,每一個步驟都是查找應用程序或操做系統中的弱點所需的關鍵任務:
www.nsfocus.com
forum.eviloctal.com
www.xfocus.net
www.hackline.net
www.chinacissp.com
鏈接創建時,各端分配一塊緩衝區用來存儲接收的數據,並將緩衝區的尺寸發送給另外一端
接收方發送的確認信息中包含了本身剩餘的緩衝區尺寸
剩餘緩衝區空間的數量叫作窗口
tcp創建須要三次握手,斷開須要四次揮手。包頭結構:
源端口 16位
目標端口 16位
序列號 32位
迴應序號 32位
TCP頭長度 4位
reserved 6位
控制代碼 6位
窗口大小 16位
偏移量 16位
校驗和 16位
選項 32位(可選)
這樣咱們得出了TCP包頭的最小長度,爲20字節。
udp 用戶數據包協議
(1) UDP是一個非鏈接的協議,傳輸數據以前源端和終端不創建鏈接,當它想傳送時就簡單地去抓取來自應用程序的數據,並儘量快地把它扔到網絡上。在發送端,UDP傳送數據的速度僅僅是受應用程序生成數據的速度、計算機的能力和傳輸帶寬的限制;在接收端,UDP把每一個消息段放在隊列中,應用程序每次從隊列中讀一個消息段。
(2) 因爲傳輸數據不創建鏈接,所以也就不須要維護鏈接狀態,包括收發狀態等,所以一臺服務機可同時向多個客戶機傳輸相同的消息。
(3) UDP信息包的標題很短,只有8個字節,相對於TCP的20個字節信息包的額外開銷很小。
(4) 吞吐量不受擁擠控制算法的調節,只受應用軟件生成數據的速率、傳輸帶寬、源端和終端主機性能的限制。
(5)UDP使用盡最大努力交付,即不保證可靠交付,所以主機不須要維持複雜的連接狀態表(這裏面有許多參數)。
(6)UDP是面向報文的。發送方的UDP對應用程序交下來的報文,在添加首部後就向下交付給IP層。既不拆分,也不合並,而是保留這些報文的邊界,所以,應用程序須要選擇合適的報文大小。
咱們常用「ping」命令來測試兩臺主機之間TCP/IP通訊是否正常,其實「ping」命令的原理就是向對方主機發送UDP數據包,而後對方主機確認收到數據包,若是數據包是否到達的消息及時反饋回來,那麼網絡就是通的。
UDP的包頭結構:
源端口 16位
目的端口 16位
長度 16位
校驗和 16位
區別
TCP UDP
是否鏈接 面向鏈接 面向非鏈接
傳輸可靠性 可靠 不可靠
應用場合 傳輸大量數據 少許數據
系統資源 多 少
結構 複雜 簡單
數據正確性 有序 無序
速度 慢 快
7.防火牆的三種技術
1).應用代理技術
2).電路層網關技術
3).自適應代理技術
8.使用linux的安全風險有哪些?
多用戶系統帶來的帳戶及權限安全。包括多用戶帶來的帳戶權限,文件歸屬管理的難度。linux自身安全及上端應用程序所面臨的威脅。未通過專業人員安全加固過的廚師linux系統在攻擊者面前,顯得很脆弱,運行在上端的開源程序有着跟新維護不及時,存在漏洞的狀況。系統自身服務安全性,運行在linux上的默認服務有着相互依存,安全設置有相互獨立的現象,對於廣大普通用戶來講,根本沒法制定出適合且有效的安全策略。
9.主流的防火牆廠商和產品
國外:1.checkpoint firewall-1
2.Cisco cisco pix
3.Netscreen netscreen
國內:1.360 360安全衛士
2.聯想 網禦
3.天融信 網絡衛士
4.中網 黑客愁
10.使用select查詢語句的不安全之出在哪?
例如db_datareader,它授予對數據庫裏面全部對象的select權限。雖然你能夠用db_datareader角色授予select權限,而後有選擇地對個別用戶或組拒絕select權限,但使用這種方法時,你可能忘記爲某個用戶或者對象設置權限。
11.實現純文本操做
要求:程序可新建文件,打開文件,查看文件,在某一行插入文件,刪除某行的文字,運行時的顯示菜單。提示用戶選擇操做或退出操做,輸入文件名,行號或文字,選擇退出,程序結束,不然完成後應返回菜單繼續。
/** * File name :file.c * Author :kangkangliang * File desc :file operator * Mail :liangkangkang@yahoo.com * Create time :2016-09-19 */ /** * headfile */ #include <stdio.h> #include <stdlib.h> void show() { printf("------------------\n"); printf("1.show line code\n"); printf("2.insert line code\n"); printf("3.delete line code\n"); printf("4.show all line code\n"); printf("0.exit\n"); printf("------------------\n"); } void printLine(FILE *fp ,int line) { int count = 0; char buf[1024]; // read line while(!feof(fp)){ if(count == line){ fgets(buf,1024,fp); printf("%d %s\n", line,buf); break; } if(fgets(buf,1024,fp) != NULL) ++count; else if(fgets(buf,1024,fp) == NULL && count < line){ printf("your line too big over file line number"); break; } } } void insertLine(FILE *fp,int line,char *buf) { int count = 0; // 保證在行的範圍內 // read line while(!feof(fp)){ if(count == line){ fprintf(fp, "%s\n", buf); break; } if(fgets(buf,1024,fp) != NULL) ++count; } } void deleteLine(FILE *fp,int line) { /* * 1、最簡單的辦法,建議讀到鏈表裏,刪除其中一個節點。而後再覆蓋寫回到文件。 2、找到要刪除的位置,fseek到該位置,將以後須要保留的文件內容,從這裏開始寫。 3、利用內存映射,將文件映射到內存,直接對內存修改,可是對內存修改,也是須要相似於方法2,將須要保留的內容從新移動位置。 */ int count = 0; char buf[1024]; // 保證在行的範圍內 // read line while(!feof(fp)){ if(count == line){ break; } if(fgets(buf,1024,fp) != NULL) ++count; } } void showAll(FILE *fp) { char buf[1024]; int count = 0; while(!feof(fp)){ count++; fgets(buf,1024,fp); printf("%d %s",count, buf); } } /** * main function */ int main(int argc,char **argv) { char file_name[10]; printf("please input filename:\n"); scanf("%s",file_name); FILE *fp; if((fp = fopen(file_name,"rw")) == NULL){ printf("open file error\n"); exit(-1); } int code; int line; char buf[1024]; while(1){ fseek(fp,0,0);
// rewind(fp); // 把文件內部的位置指針移到文件開頭的地方,該函數沒有返回值 show(); printf("input operateor code:"); scanf("%d",&code); if(0 == code) break; switch(code){ case(1): { printf("input line number:"); scanf("%d",&line); if(line <= 0){ printf("your line invalid\n"); break; } printLine(fp,line); break; } case(2): { printf("input line context:"); scanf("%s",buf); insertLine(fp,line,buf); break; } case(3): { printf("input delete line number:"); scanf("%d",&line); deleteLine(fp,line); break; } case(4): { showAll(fp); break; } default: printf("input error\n"); break; } } return 0; }
12.linuxshell 實現
假設主機沒有防火牆,該主機ip地址由命令帶人,判斷主機哪些端口開放,並將結果輸入到文件中
使用netstat命令,就能夠解決這個問題
# netstat -tln
netstat -tln 命令是用來查看linux的端口使用狀況
/etc/init.d/vsftp start 是用來啓動ftp端口~!
看文件/etc/services
netstat
查看已經鏈接的服務端口(ESTABLISHED)
netstat -a
查看全部的服務端口(LISTEN,ESTABLISHED)
sudo netstat -ap
查看全部的服務端口並顯示對應的服務程序名
nmap <掃描類型><掃描參數>
13.139端口和445端口
139端口: NetBIOS File and Print Sharing 經過這個端口進入的鏈接試圖得到NetBIOS/SMB服務。這個協議被用於Windows"文件和打印機共享"和SAMBA。在Internet上共享本身的硬盤是多是最多見的問題。
445端口:445端口是一個譭譽參半的端口,他和139端口一塊兒是IPC$入侵的主要通道。有了它咱們能夠在局域網中輕鬆訪問各類共享文件夾或共享打印機,但也正是由於有了它,黑客們纔有了可乘之機,他們能經過該端口偷偷共享你的硬盤,甚至會在悄無聲息中將你的硬盤格式化掉!咱們所能作的就是想辦法不讓黑客有隙可乘,封堵住445端口漏洞。
15.Cisco中哪一個命令可讓登錄密碼是明文顯示
service password xxxxx
16.指定ping數據包的大小
默認是4個數據包,咱們能夠經過-n來指定:ping baidu.com -n 100
17.ACL列表number分別支持的協議
1-99 基於IP的標準訪問控制列表
100-199 基於IP的擴展訪問控制列表
200-299 基於協議類型碼的訪問控制列表
18.列舉Unix,Linux,FreeBSD各個版本的歷史發行版本
Unix:V1,V4,V6,V7
著名,流行的Linux發行版本:Red hat Centos SUSE,Debian,GNU/Linux,Ubuntu,Fedora
FreeBSD:1.x 從386BSD0.1發展而來,2.x版從4.4BSD lite而來。
19.名詞解釋
Ddos:(Distirbuted Denial of service)分佈式拒絕服務
Worm:蠕蟲,網絡傳播類計算機惡意代碼
IP Spoof:IP欺騙,假裝成可信任的IP地址,對目標實施信息欺騙以達到目的。
SYN Flood:SYN洪水攻擊,拒絕服務攻擊的一種。經過大量僞造TCP三次握手中的SYN包達到對目標拒絕服務攻擊的目的。
Brute Attack:強力攻擊
Social Engineering:社會工程學,經過非技術的其餘任意手段達到最終的目的
Honeybot:蜜罐系統,一般指經過對不設防的虛擬主機(蜜罐)進行監控,達到追蹤攻擊者(蜜蜂)的目的
ShellCode:溢出代碼,一般指能對某系統溢出漏洞獲取特定權限的指針位代碼
20.網絡安全的標準
iso9000:ISO9000質量管理體系是企業發展與成長之根本,ISO9000不是指一個標準,而是一類標準的統稱。是由TC176(TC176指質量管理體系技術委員會)制定的全部國際標準,是ISO12000多個標準中最暢銷、最廣泛的產品。
BS7799:BS 7799(ISO/IEC17799):即國際信息安全管理標準體系,2000年12月,國際標準化組織ISO正式發佈了有關信息安全的國際標準ISO17799,這個標準包括信息系統安全管理和安全認證兩大部分,是參照英國國家標準BS7799而來的。
sql注入:
所謂SQL注入,就是經過把SQL命令插入到Web表單提交或輸入域名或頁面請求的查詢字符串,最終達到欺騙服務器執行惡意的SQL命令。具體來講,它是利用現有應用程序,將(惡意)的SQL命令注入到後臺數據庫引擎執行的能力,它能夠經過在Web表單中輸入(惡意)SQL語句獲得一個存在安全漏洞的網站上的數據庫,而不是按照設計者意圖去執行SQL語句。[1] 好比先前的不少影視網站泄露VIP會員密碼大多就是經過WEB表單遞交查詢字符暴出的,這類表單特別容易受到SQL注入式攻擊. 20.數據庫的漏洞如何挖掘
21.一次典型的網絡攻擊分爲幾個階段,每一個階段採用什麼技術
攻擊的基本步驟:蒐集信息 實施入侵 上傳程序、下載數據 利用一些方法來保持訪問,如後門、特洛伊木馬 隱藏蹤影 【 信息蒐集 】 在攻擊者對特定的網絡資源進行攻擊之前,他們須要瞭解將要攻擊的環境,這須要蒐集彙總各類與目標系統相關的信息,包括機器數目、類型、操做系統等等。踩點和掃描的目的都是進行信息的蒐集。
攻擊者蒐集目標信息通常採用7個基本步驟,每一步均有可利用的工具,攻擊者使用它們獲得攻擊目標所須要的信息。找到初始信息 找到網絡的地址範圍 找到活動的機器 找到開放端口和入口點 弄清操做系統 弄清每一個端口運行的是哪一種服務 畫出網絡圖
22.知道的掃描器有哪些?
Retina:Retina是eEye公司(www.eeye.com)的產品,強大的網絡漏洞檢測技術能夠有效的檢測並修復各類安全隱患和漏洞,而且生成詳細的安全檢測報告,兼容各類主流操做系統、防火牆、路由器等各類網絡設備。曾在國外的安全評估軟件的評測中名列第一。
iss:(internet security scanner)ISS公司開發和維護的商業漏洞掃描程序,它的可移植性和靈活性很強,衆多的UNIX的平臺上均可以運行ISS。
22.動態路由和靜態路由
靜態路由
是在路由器中設置的固定的路由表。除非網絡管理員干預,不然靜態路由不會發生變化因爲靜態路由不能對網絡的改變做出反映,通常用於網絡規模不大、拓撲結構固定的網絡中。靜態路由的優勢是簡單、高效、可靠。在全部的路由中,靜態路由優先級最高。當動態路由與靜態路由發生衝突時,以靜態路由爲準
動態路由
是網絡中的路由器之間相互通訊,傳遞路由信息,利用收到的路由信息更新路由器表的過程。它能實時地適應網絡結構的變化。若是路由更新信息代表發生了網絡變化,路由選擇軟件就會從新計算路由,併發出新的路由更新信息。這些信息經過各個網絡,引發各路由器從新啓動其路由算法,並更新各自的路由表以動態地反映網絡拓撲變化。動態路由適用於網絡規模大、網絡拓撲復雜的網絡。