1、100.0.0.16/28 對應網段的網關地址、廣播地址、可分配IP地址範圍
101.100.0.0.16 255.255.255.1110,0000 2^4=16個網段
100.0.0.16屬於100.0.0.16-31/28
網關地址:100.0.0.16
廣播地址:100.0.0.31
可分配ip地址範圍:100.0.0.17-30
2、使用man手冊學習tcpdump的使用
tcpdump是linux上自帶的一個抓包軟件(mac也有),功能強大,也可以抓取經過指定網卡的所有協議包。由於是命令行工具,tcpdump抓取到的包不易於分析,一個常見的做法是將tcpdump抓到的包輸出到某個文件,然後將文件拷貝下來用wireshark分析。
一些簡單的過濾參數:
-i 參數表示抓取指定網卡的內容。具體網卡可以通過 ifconfig 命令查看
#如果不指定網卡,默認tcpdump只會監視第一個網絡接口
tcpdump -i eth1
#打印所有www.baidu.com相關的包,這個host後面可以填 域名,也可以填ip
tcpdump host www.baidu.com
tcpdump host 192.168.0.1
打印 nn1和nn2或nn3 主機間通信的包,這裏可以替換成ip
tcpdump host nn1 and \( nn2 or nn3 \)
#打印nn1和非nn2之間的ip數據包
tcpdump ip host nn1 and not nn2
#發送者是nn1的數據包
tcpdump -i eth0 src host nn1
#接受者是nn1的數據包
tcpdump -i eth0 dst host nn1
#指定tcp端口是23以及host是210.27.48.1數據包
tcpdump tcp port 23 and host 210.27.48.1
抓包內容輸出到文件:
#抓取指定網卡的包輸出到test.cap
tcpdump -i en0 -w test.cap
之後我們可以把test.cap直接用wireshark打開,就可以很直觀的分析包了。
用tcpdump輸出cap文件包:
tcpdump -r test.cap
優點:
a、功能強大,可以抓所有協議的包
b、linux自帶,直接在所有的服務器上面抓包,這是其他抓包軟件不具備的
缺點:
a、數據包分析困難,需要配合wireshark使用
b、和wireshark一樣,無法分析https數據包
3、詳細敘述殭屍進程產生的原因以及危害
僵死進程產生的原因:
當前進程中生成一個子進程,一般需要調用fork這個系統調用,fork這個函數的特別之處在於一次調用,兩次返回,一次返回到父進程中,一次返回到子進程中,我們可以通過返回值來判斷其返回點:如果子進程先於父進程退出, 同時父進程又沒有調用wait/waitpid,則該子進程將成爲殭屍進程。通過ps命令,我們可以看到該進程的狀態爲Z(表示僵死)
僵死進程的危害:
殭屍進程會佔用系統資源,如果很多,則會嚴重影響服務器的性能;
4、詳細說明vmstat輸出結果的含義
procs:
r:等待運行的進程的個數;CPU上等待運行的任務的隊列長度
b:處於不可中斷睡眠態的進程個數;被阻塞的任務隊列的長度
memory:
swpd:交換內存使用總量
free:空閒的物理內存總量
buffer:用於buffer的內存總量;緩衝
cache:用於cache的內存總量;緩存
swap:
si:數據進入swap中的數據速率(kb/s)
so:數據離開swap的速率(kb/s)
io:
bi:從塊設備讀入數據到內存的速率(kb/s)
bo:保存數據至塊設備的速率(kb/s)
system:
ln:interrupts:中斷速率
cs:context switch,上下文,切換的速率
cpu:
us:用戶空間
sy:system
id:ldle
wa:wait
st:stolen