1.w/uptimephp
17:03:51 當前時間
up 6 days 系統啓動多長時間
4 users 目前登陸了幾個用戶
load average: 0.00, 0.01, 0.05 系統負載
第一段 0.00 指一分鐘內使用cpu活動的進程,這個值等於邏輯cpu個數是最合適的
第二段 0.01 指五分鐘內使用cpu活動的進程
第三段 0.05 指十五分鐘內使用cpu活動的進程
LOGIN 何時登陸的
IDLE 空閒了多長時間
網絡登陸的是TTY:pts/0、pts/1的形式,終端登陸的是tty1——6
[root@bogon awk]# w 17:03:51 up 6 days, 17:18, 4 users, load average: 0.00, 0.01, 0.05 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT root :0 :0 2612月17 ?xdm? 55:42 3.08s gdm-session-wor root pts/0 :0 二09 3days 0.04s 0.04s /bin/bash root pts/1 :0 2912月17 6days 0.06s 0.06s /bin/bash root pts/2 10.21.95.218 二09 7.00s 2.71s 0.02s w [root@bogon awk]#
2.查看系統cpu信息(processor : 0說明只有一顆)html
[root@bogon awk]# cat /proc/cpuinfo
1.vmstat命令是最多見的Linux/Unix監控工具,能夠展示給定時間間隔的服務器的狀態值,包括服務器的CPU使用率,內存使用,虛擬內存交換狀況,IO讀寫狀況。node
[root@bogon awk]# vmstat 1 5 procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- r b swpd free buff cache si so bi bo in cs us sy id wa st 2 0 400260 249648 32 244032 0 1 29 5 55 20 0 0 99 0 0 0 0 400260 249648 32 244032 0 0 0 0 61 118 0 0 100 0 0 0 0 400260 249648 32 244032 0 0 0 0 85 151 1 0 99 0 0 0 0 400260 249648 32 244032 0 0 0 0 71 133 0 1 99 0 0 0 0 400260 249616 32 244032 0 0 0 0 64 118 0 0 100 0 0 [root@bogon awk]#
2表示每隔兩秒採集一次服務器狀態,1表示只採集一次。python
r:run 有多少個進程處於運行狀態mysql
b:表示阻塞的進程linux
swpd:有多少塊被交換了(當內存不夠的時候),當數值不大且固定能夠不用管ios
free 空閒的物理內存的大小nginx
buff Linux/Unix系統是用來存儲,目錄裏面有什麼內容,權限等的緩存,web
cache cache直接用來記憶咱們打開的文件,給文件作緩衝sql
si 每秒從磁盤讀入虛擬內存的大小,若是這個值大於0,表示物理內存不夠用或者內存泄露了,要查找耗內存進程解決掉。個人機器內存充裕,一切正常
so 每秒虛擬內存寫入磁盤的大小,若是這個值大於0,同上
bi 塊設備每秒接收的塊數量,這裏的塊設備是指系統上全部的磁盤和其餘塊設備,默認塊大小是1024byte,
bo 塊設備每秒發送的塊數量,例如咱們讀取文件,bo就要大於0。bi和bo通常都要接近0,否則就是IO過於頻繁,須要調整。
in 每秒CPU的中斷次數,包括時間中斷
cs 每秒上下文切換次數,例如咱們調用系統函數,就要進行上下文切換,線程的切換,也要進程上下文切換,這個值要越小越好,太大了,要考慮調低線程或者進程的數目,例如在apache和nginx這種web服務器中,咱們通常作性能測試時會進行幾千併發甚至幾萬併發的測試,選擇web服務器的進程能夠由進程或者線程的峯值一直下調,壓測,直到cs到一個比較小的值,這個進程和線程數就是比較合適的值了。系統調用也是,每次調用系統函數,咱們的代碼就會進入內核空間,致使上下文切換,這個是很耗資源,也要儘可能避免頻繁調用系統函數。上下文切換次數過多表示你的CPU大部分浪費在上下文切換,致使CPU幹正經事的時間少了,CPU沒有充分利用,是不可取的。
us 用戶CPU時間,我曾經在一個作加密解密很頻繁的服務器上,能夠看到us接近100,r運行隊列達到80(機器在作壓力測試,性能表現不佳)。
sy 系統CPU時間,若是過高,表示系統調用時間長,例如是IO操做頻繁。
id 空閒 CPU時間,通常來講,id + us + sy = 100,通常我認爲id是空閒CPU使用率,us是用戶CPU使用率,sy是系統CPU使用率。
wt 等待IO CPU時間。
1.top命令是Linux下經常使用的性能分析工具,可以實時顯示系統中各個進程的資源佔用情況,經常使用於服務端性能分析。
[sun.yujun@kddi-zol-fss-web1 autorun]$ top -bn1 top - 09:33:16 up 38 days, 17 min, 14 users, load average: 0.12, 0.09, 0.33 Tasks: 388 total, 1 running, 387 sleeping, 0 stopped, 0 zombie Cpu(s): 12.1%us, 0.8%sy, 0.0%ni, 87.0%id, 0.1%wa, 0.0%hi, 0.1%si, 0.0%st Mem: 8060540k total, 6555192k used, 1505348k free, 93216k buffers Swap: 16777196k total, 2133356k used, 14643840k free, 300296k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 13003 yang.lei 20 0 8033m 4.8g 1572 S 7.8 62.5 1123:34 python 8099 sun.yuju 20 0 15160 1344 824 R 1.9 0.0 0:00.01 top 1 root 20 0 19352 560 332 S 0.0 0.0 2:22.45 init 2 root 20 0 0 0 0 S 0.0 0.0 0:00.00 kthreadd 3 root RT 0 0 0 0 S 0.0 0.0 1:09.12 migration/0 4 root 20 0 0 0 0 S 0.0 0.0 0:33.01 ksoftirqd/0 5 root RT 0 0 0 0 S 0.0 0.0 0:00.00 stopper/0 6 root RT 0 0 0 0 S 0.0 0.0 0:06.61 watchdog/0 7 root RT 0 0 0 0 S 0.0 0.0 1:13.85 migration/1 8 root RT 0 0 0 0 S 0.0 0.0 0:00.00 stopper/1 9 root 20 0 0 0 0 S 0.0 0.0 1:16.91 ksoftirqd/1 10 root RT 0 0 0 0 S 0.0 0.0 0:05.43 watchdog/1
1.top默認3秒刷新一次、按cpu降序排,加-bn1不刷新
2.統計信息區前五行是系統總體的統計信息。第一行是任務隊列信息,同 uptime 命令的執行結果。其內容以下:
01:06:48 當前時間 up 1:22 系統運行時間,格式爲時:分 1 user 當前登陸用戶數 load average: 0.06, 0.60, 0.48 系統負載,即任務隊列的平均長度。三個數值分別爲 1分鐘、5分鐘、15分鐘前到如今的平均值。
3.第2、三行爲進程和CPU的信息。當有多個CPU時,這些內容可能會超過兩行。內容以下:
total 進程總數 running 正在運行的進程數 sleeping 睡眠的進程數 stopped 中止的進程數 zombie 殭屍進程數 Cpu(s): 0.3% us 用戶空間佔用CPU百分比 1.0% sy 內核空間佔用CPU百分比 0.0% ni 用戶進程空間內改變過優先級的進程佔用CPU百分比 98.7% id 空閒CPU百分比 0.0% wa 等待輸入輸出的CPU時間百分比 0.0%hi:硬件CPU中斷佔用百分比 0.0%si:軟中斷佔用百分比 0.0%st:虛擬機佔用百分比
4.最後兩行爲內存信息。內容以下:
Mem: 191272k total 物理內存總量 173656k used 使用的物理內存總量 17616k free 空閒內存總量 22052k buffers 用做內核緩存的內存量 Swap: 192772k total 交換區總量 0k used 使用的交換區總量 192772k free 空閒交換區總量 123988k cached 緩衝的交換區總量,內存中的內容被換出到交換區,然後又被換入到內存,但使用過的交換區還沒有被覆蓋,該數值即爲這些內容已存在於內存中的交換區的大小,相應的內存再次被換出時可沒必要再對交換區寫入。
5.進程信息區統計信息區域的下方顯示了各個進程的詳細信息。首先來認識一下各列的含義。
序號 列名 含義 a PID 進程id b PPID 父進程id c RUSER Real user name d UID 進程全部者的用戶id e USER 進程全部者的用戶名 f GROUP 進程全部者的組名 g TTY 啓動進程的終端名。不是從終端啓動的進程則顯示爲 ? h PR 優先級 i NI nice值。負值表示高優先級,正值表示低優先級 j P 最後使用的CPU,僅在多CPU環境下有意義 k %CPU 上次更新到如今的CPU時間佔用百分比 l TIME 進程使用的CPU時間總計,單位秒 m TIME+ 進程使用的CPU時間總計,單位1/100秒 n %MEM 進程使用的物理內存百分比 o VIRT 進程使用的虛擬內存總量,單位kb。VIRT=SWAP+RES p SWAP 進程使用的虛擬內存中,被換出的大小,單位kb。 q RES 進程使用的、未被換出的物理內存大小,單位kb。RES=CODE+DATA r CODE 可執行代碼佔用的物理內存大小,單位kb s DATA 可執行代碼之外的部分(數據段+棧)佔用的物理內存大小,單位kb t SHR 共享內存大小,單位kb u nFLT 頁面錯誤次數 v nDRT 最後一次寫入到如今,被修改過的頁面數。 w S 進程狀態(D=不可中斷的睡眠狀態,R=運行,S=睡眠,T=跟蹤/中止,Z=殭屍進程) x COMMAND 命令名/命令行 y WCHAN 若該進程在睡眠,則顯示睡眠中的系統函數名 z Flags 任務標誌,參考 sched.h
默認狀況下僅顯示比較重要的 PID、USER、PR、NI、VIRT、RES、SHR、S、%CPU、%MEM、TIME+、COMMAND 列。能夠經過下面的快捷鍵來更改顯示內容。
更改顯示內容經過 f 鍵能夠選擇顯示的內容。按 f 鍵以後會顯示列的列表,按 a-z 便可顯示或隱藏對應的列,最後按回車鍵肯定。
按 o 鍵能夠改變列的顯示順序。按小寫的 a-z 能夠將相應的列向右移動,而大寫的 A-Z 能夠將相應的列向左移動。最後按回車鍵肯定。
按大寫的 F 或 O 鍵,而後按 a-z 能夠將進程按照相應的列進行排序。而大寫的 R 鍵能夠將當前的排序倒轉。
top使用格式
top [-] [d] [p] [q] [c] [C] [S] [s] [n]
參數說明
d 指定每兩次屏幕信息刷新之間的時間間隔。固然用戶可使用s交互命令來改變之。 p 經過指定監控進程ID來僅僅監控某個進程的狀態。 q 該選項將使top沒有任何延遲的進行刷新。若是調用程序有超級用戶權限,那麼top將以儘量高的優先級運行。 S 指定累計模式 s 使top命令在安全模式中運行。這將去除交互命令所帶來的潛在危險。 i 使top不顯示任何閒置或者僵死進程。 c 顯示整個命令行而不僅是顯示命令名
其餘實用命令
下面介紹在top命令執行過程當中可使用的一些交互命令。從使用角度來看,熟練的掌握這些命令比掌握選項還重要一些。這些命令都是單字母的,若是在命令行選項中使用了s選項,則可能其中一些命令會被屏蔽掉。
Ctrl+L 擦除而且重寫屏幕。 h或者? 顯示幫助畫面,給出一些簡短的命令總結說明。 k 終止一個進程。系統將提示用戶輸入須要終止的進程PID,以及須要發送給該進程什麼樣的信號。通常的終止進程可使用15信號;若是不能正常結束那就使用信號9強制結束該進程。默認值是信號15。在安全模式中此命令被屏蔽。 i 忽略閒置和僵死進程。這是一個開關式命令。 q 退出程序。 r 從新安排一個進程的優先級別。系統提示用戶輸入須要改變的進程PID以及須要設置的進程優先級值。輸入一個正值將使優先級下降,反之則可使該進程擁有更高的優先權。默認值是10。 S 切換到累計模式。 s 改變兩次刷新之間的延遲時間。系統將提示用戶輸入新的時間,單位爲s。若是有小數,就換算成m s。輸入0值則系統將不斷刷新,默認值是5 s。須要注意的是若是設置過小的時間,極可能會引發不斷刷新,從而根原本不及看清顯示的狀況,並且系統負載也
會大大增長。 f或者F 從當前顯示中添加或者刪除項目。 o或者O 改變顯示項目的順序。 l 切換顯示平均負載和啓動時間信息。 m 切換顯示內存信息。 t 切換顯示進程和CPU狀態信息。 c 切換顯示命令名稱和完整命令行。 M 根據駐留內存大小進行排序。 P 根據CPU使用百分比大小進行排序。 T 根據時間/累計時間進行排序。 W 將當前設置寫入~/.toprc文件中。這是寫top配置文件的推薦方法。
附經常使用操做:
top //每隔5秒顯式全部進程的資源佔用狀況 top -d 2 //每隔2秒顯式全部進程的資源佔用狀況 top -c //每隔5秒顯式進程的資源佔用狀況,並顯示進程的命令行參數(默認只有進程名) top -p 12345 -p 6789//每隔5秒顯示pid是12345和pid是6789的兩個進程的資源佔用狀況 top -d 2 -c -p 123456 //每隔2秒顯示pid是12345的進程的資源使用狀況,並顯式該進程啓動的命令行參數
按內存排序 M, P按cpu排序
1.被人們稱做linux中的瑞士軍刀
2.sar -n DEV 1 2 1表明每分鐘顯示一次,2顯示兩次
3.rxpck接收的數據包量(幾千是正常的),txpck發出的數據包量
[root@bogon ~]# sar -n DEV 1 2 Linux 3.10.0-327.el7.x86_64 (bogon) 2018年01月19日 _x86_64_ (1 CPU) 15時19分40秒 IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s 15時19分41秒 eno16777736 5.05 2.02 0.58 0.25 0.00 0.00 0.00 15時19分41秒 lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 15時19分41秒 virbr0-nic 0.00 0.00 0.00 0.00 0.00 0.00 0.00 15時19分41秒 virbr0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 15時19分41秒 IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s 15時19分42秒 eno16777736 5.00 1.00 0.60 0.57 0.00 0.00 0.00 15時19分42秒 lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 15時19分42秒 virbr0-nic 0.00 0.00 0.00 0.00 0.00 0.00 0.00 15時19分42秒 virbr0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 平均時間: IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s 平均時間: eno16777736 5.03 1.51 0.59 0.41 0.00 0.00 0.00 平均時間: lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 平均時間: virbr0-nic 0.00 0.00 0.00 0.00 0.00 0.00 0.00 平均時間: virbr0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 [root@bogon ~]#
4.查看某一天的歷史數據
[root@bogon ~]# sar -n DEV -f /var/log/sa/sa02
5.查看系統負載
[root@bogon ~]# sar -q 1 5 Linux 3.10.0-327.el7.x86_64 (bogon) 2018年01月19日 _x86_64_ (1 CPU) 15時31分55秒 runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15 blocked 15時31分56秒 2 693 0.00 0.01 0.05 0 15時31分57秒 2 693 0.00 0.01 0.05 1 15時31分58秒 2 693 0.00 0.01 0.05 1 15時31分59秒 2 695 0.00 0.01 0.05 0 15時32分00秒 1 694 0.00 0.01 0.05 0 平均時間: 2 694 0.00 0.01 0.05 0 [root@bogon ~]#
6.查看某一天的系統負載
[root@bogon ~]# sar -q -f /var/log/sa/sa19 Linux 3.10.0-327.el7.x86_64 (bogon) 2018年01月19日 _x86_64_ (1 CPU) 15時20分01秒 runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15 blocked 15時30分01秒 2 689 0.00 0.01 0.05 0 平均時間: 2 689 0.00 0.01 0.05 0 [root@bogon ~]#
7.查看磁盤的讀寫
[root@bogon ~]# sar -b Linux 3.10.0-327.el7.x86_64 (bogon) 2018年01月19日 _x86_64_ (1 CPU) 15時20分01秒 tps rtps wtps bread/s bwrtn/s 15時30分01秒 0.20 0.02 0.18 0.36 11.34 平均時間: 0.20 0.02 0.18 0.36 11.34 [root@bogon ~]#
nload 默認分爲上下兩塊:
上半部分是:Incoming也就是進入網卡的流量,
下半部分是:Outgoing,也就是從這塊網卡出去的流量,
每部分都有當前流量(Curr),
平均流量(Avg),
最小流量(Min),
最大流量(Max),
總和流量(Ttl)這幾個部分,看起來仍是蠻直觀的。
nload默認的是eth0網卡,若是你想監測eth1網卡的流量
#nload eth1
-a:這個好像是所有數據的刷新時間週期,單位是秒,默認是300.
-i:進入網卡的流量圖的顯示比例最大值設置,默認10240 kBit/s.
-m:不顯示流量圖,只顯示統計數據。
-o:出去網卡的流量圖的顯示比例最大值設置,默認10240 kBit/s.
-t:顯示數據的刷新時間間隔,單位是毫秒,默認500。
-u:設置右邊Curr、Avg、Min、Max的數據單位,默認是自動變的.注意大小寫單位不一樣!
h|b|k|m|g h: auto, b: Bit/s, k: kBit/s, m: MBit/s etc.
H|B|K|M|G H: auto, B: Byte/s, K: kByte/s, M: MByte/s etc.
-U:設置右邊Ttl的數據單位,默認是自動變的.注意大小寫單位不一樣(與-u相同)!
Devices:自定義監控的網卡,默認是所有監控的,使用左右鍵切換。
如只監控eth0命令:# nload eth0
使用 $ nload eth0 ,能夠查看第一網卡的流量狀況,顯示的是實時的流量圖, $ nload -m 能夠同時查看多個網卡的流量狀況。
[root@bogon ~]# iostat Linux 3.10.0-327.el7.x86_64 (bogon) 2018年01月19日 _x86_64_ (1 CPU) avg-cpu: %user %nice %system %iowait %steal %idle 0.22 0.04 0.27 0.16 0.00 99.31 Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn sda 0.65 33.33 5.13 19455533 2995131 sdb 0.00 0.00 0.00 2652 0 scd0 0.00 0.02 0.00 9918 0 dm-0 0.68 33.20 4.28 19378412 2498203 dm-1 0.23 0.12 0.82 70860 477044 dm-2 0.00 0.00 0.00 556 0 [root@bogon ~]#
1.%util表示io等待
[root@bogon ~]# iostat -x Linux 3.10.0-327.el7.x86_64 (bogon) 2018年01月19日 _x86_64_ (1 CPU) avg-cpu: %user %nice %system %iowait %steal %idle 0.22 0.04 0.27 0.16 0.00 99.31 Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util sda 0.03 0.23 0.47 0.18 33.33 5.13 117.54 0.02 31.44 27.84 40.94 5.23 0.34 sdb 0.00 0.00 0.00 0.00 0.00 0.00 12.00 0.00 4.24 4.24 0.00 3.55 0.00 scd0 0.00 0.00 0.00 0.00 0.02 0.00 20.43 0.00 2.87 2.87 0.00 2.74 0.00 dm-0 0.00 0.00 0.47 0.21 33.20 4.28 110.49 0.02 31.84 28.04 40.43 4.86 0.33 dm-1 0.00 0.00 0.03 0.20 0.12 0.82 8.02 0.10 415.84 14.88 474.50 1.09 0.03 dm-2 0.00 0.00 0.00 0.00 0.00 0.00 13.40 0.00 2.11 2.11 0.00 1.53 0.00 [root@bogon ~]#
rrqm/s:每秒這個設備相關的讀取請求有多少被Merge了(當系統調用須要讀取數據的時候,VFS將請求發到各個FS,若是FS發現不一樣的讀取請求讀取的是相同Block的數據,FS會將這個請求合併Merge);wrqm/s:每秒這個設備相關的寫入請求有多少被Merge
了。 rsec/s:每秒讀取的扇區數; wsec/:每秒寫入的扇區數。 rKB/s:The number of read requests that were issued to the device per second; wKB/s:The number of write requests that were issued to the device per second; avgrq-sz 平均請求扇區的大小 avgqu-sz 是平均請求隊列的長度。毫無疑問,隊列長度越短越好。 await: 每個IO請求的處理的平均時間(單位是微秒毫秒)。這裏能夠理解爲IO的響應時間,通常地系統IO響應時間應該低於5ms,若是大於10ms就比較大了。 這個時間包括了隊列時間和服務時間,也就是說,通常狀況下,await大於svctm,它們的差值越小,則說明隊列時間越短,反之差值越大,隊列時間越長,說明系統出了問題。 svctm 表示平均每次設備I/O操做的服務時間(以毫秒爲單位)。若是svctm的值與await很接近,表示幾乎沒有I/O等待,磁盤性能很好,若是await的值遠高於svctm的值,則表示I/O隊列等待太長, 系統上運行的應用程序將變慢。
%util: 在統計時間內全部處理IO時間,除以總共統計時間。例如,若是統計間隔1秒,該設備有0.8秒在處理IO,而0.2秒閒置,那麼該設備的%util = 0.8/1 = 80%,因此該參數暗示了設備的繁忙程度
。通常地,若是該參數是100%表示設備已經接近滿負荷運行了(固然若是是多磁盤,即便%util是100%,由於磁盤的併發能力,因此磁盤使用未必就到了瓶頸)。
1.查看內存使用狀況
[root@bogon ~]# free -h total used free shared buff/cache available Mem: 977M 479M 117M 15M 380M 310M Swap: 2.0G 425M 1.6G [root@bogon ~]#
Mem:表示物理內存統計
-/+ buffers/cached:表示物理內存的緩存統計
Swap:表示硬盤上交換分區的使用狀況,
第1行 Mem:
total:表示物理內存總量。
used:表示總計分配給緩存(包含buffers 與cache )使用的數量,但其中可能部分緩存並未實際使用。
free:未被分配的內存。
shared:共享內存,通常系統不會用到,這裏也不討論。
buffers:系統分配但未被使用的buffers 數量。
cached:系統分配但未被使用的cache 數量。buffer 與cache 的區別見http://blog.csdn.net/xifeijian/article/details/8209758
total = used + free
第2行 -/+ buffers/cached:
used:也就是第一行中的used - buffers-cached 也是實際使用的內存總量。
free:未被使用的buffers 與cached 和未被分配的內存之和,這就是系統當前實際可用內存=free+buffers+cached。
由於buffers和cached是系統爲了提升性能申請的內存數,實際上當應用程序須要此功能時,是可使用這些內存的,因此對應用程序來講,這些內存也是可使用的。
1.ps aux
[root@bogon ~]# ps aux USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.0 0.2 188864 2436 ? Ss 1月12 0:24 /usr/lib/systemd/systemd --switched-root --system --deseriali root 2 0.0 0.0 0 0 ? S 1月12 0:00 [kthreadd] root 3 0.0 0.0 0 0 ? S 1月12 0:10 [ksoftirqd/0] root 7 0.0 0.0 0 0 ? S 1月12 0:00 [migration/0] root 8 0.0 0.0 0 0 ? S 1月12 0:00 [rcu_bh] root 9 0.0 0.0 0 0 ? S 1月12 0:00 [rcuob/0] root 10 0.0 0.0 0 0 ? S 1月12 0:00 [rcuob/1]
2.ps -ef
[root@bogon ~]# ps -ef UID PID PPID C STIME TTY TIME CMD root 1 0 0 1月12 ? 00:00:24 /usr/lib/systemd/systemd --switched-root --system --deserialize 21 root 2 0 0 1月12 ? 00:00:00 [kthreadd] root 3 2 0 1月12 ? 00:00:10 [ksoftirqd/0] root 7 2 0 1月12 ? 00:00:00 [migration/0]
USER:該 process 屬於那個使用者帳號的 PID :該 process 的號碼 %CPU:該 process 使用掉的 CPU 資源百分比 %MEM:該 process 所佔用的物理內存百分比 VSZ :該 process 使用掉的虛擬內存量 (Kbytes) RSS :該 process 佔用的固定的內存量 (Kbytes) TTY :該 process 是在那個終端機上面運做,若與終端機無關,則顯示 ?,另外, tty1-tty6 是本機上面的登入者程序,若爲 pts/0 等等的,則表示爲由網絡鏈接進主機的程序。 STAT:該程序目前的狀態,主要的狀態有 R :該程序目前正在運做,或者是可被運做 S :該程序目前正在睡眠當中 (可說是 idle 狀態),但可被某些訊號 (signal) 喚醒。 T :該程序目前正在偵測或者是中止了 Z :該程序應該已經終止,可是其父程序卻沒法正常的終止他,形成 zombie (疆屍) 程序的狀態 START:該 process 被觸發啓動的時間 TIME :該 process 實際使用 CPU 運做的時間 COMMAND:該程序的實際指令
http://www.jb51.net/hack/186589.html
-a (all)顯示全部選項,默認不顯示LISTEN相關
-t (tcp)僅顯示tcp相關選項
-u (udp)僅顯示udp相關選項
-n 拒絕顯示別名,能顯示數字的所有轉化成數字。
-l 僅列出有在 Listen (監聽) 的服務狀態
-p 顯示創建相關連接的程序名
-r 顯示路由信息,路由表
-e 顯示擴展信息,例如uid等
-s 按各個協議進行統計
-c 每隔一個固定時間,執行該netstat命令。
1.netstat -lnp
[root@bogon ~]# netstat -lnp Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 2868/mysqld tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 2452/nginx: master tcp 0 0 192.168.122.1:53 0.0.0.0:* LISTEN 4607/dnsmasq tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1211/sshd tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 1206/cupsd tcp6 0 0 :::22 :::* LISTEN 1211/sshd tcp6 0 0 ::1:631 :::* LISTEN 1206/cupsd tcp6 0 0 :::8888 :::* LISTEN 8241/httpd udp 0 0 0.0.0.0:57029 0.0.0.0:* 121923/dhclient udp 0 0 0.0.0.0:5353 0.0.0.0:* 946/avahi-daemon: r udp 0 0 0.0.0.0:50702 0.0.0.0:* 15430/dhclient udp 0 0 192.168.122.1:53 0.0.0.0:* 4607/dnsmasq udp 0 0 0.0.0.0:67 0.0.0.0:* 4607/dnsmasq udp 0 0 0.0.0.0:68 0.0.0.0:* 121923/dhclient udp 0 0 0.0.0.0:68 0.0.0.0:* 15430/dhclient udp 0 0 0.0.0.0:35456 0.0.0.0:* 946/avahi-daemon: r udp6 0 0 :::44888 :::* 15430/dhclient udp6 0 0 :::56762 :::* 121923/dhclient Active UNIX domain sockets (only servers) Proto RefCnt Flags Type State I-Node PID/Program name Path unix 2 [ ACC ] STREAM LISTENING 581380 13667/gnome-termina /run/user/0/at-spi2-socket-13667
2.netstat -an查看全部鏈接狀態
[root@bogon ~]# netstat -an Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN tcp 0 0 192.168.122.1:53 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN tcp 0 52 10.21.95.122:22 10.21.95.218:60472 ESTABLISHED tcp 0 0 10.21.95.122:22 10.21.95.218:50134 ESTABLISHED tcp6 0 0 :::22 :::* LISTEN tcp6 0 0 ::1:631 :::* LISTEN tcp6 0 0 :::8888 :::* LISTEN
列出全部端口 netstat -a
# netstat -a | more Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 localhost:30037 *:* LISTEN udp 0 0 *:bootpc *:* Active UNIX domain sockets (servers and established) Proto RefCnt Flags Type State I-Node Path unix 2 [ ACC ] STREAM LISTENING 6135 /tmp/.X11-unix/X0 unix 2 [ ACC ] STREAM LISTENING 5140 /var/run/acpid.socket
列出全部 tcp 端口 netstat -at
[root@bogon ~]# netstat -at Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 0.0.0.0:mysql 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:http 0.0.0.0:* LISTEN tcp 0 0 bogon:domain 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:ssh 0.0.0.0:* LISTEN tcp 0 0 localhost:ipp 0.0.0.0:* LISTEN tcp 0 52 bogon:ssh bogon:60472 ESTABLISHED tcp6 0 0 [::]:ssh [::]:* LISTEN tcp6 0 0 localhost:ipp [::]:* LISTEN tcp6 0 0 [::]:ddi-tcp-1 [::]:* LISTEN [root@bogon ~]#
列出全部 udp 端口 netstat -au
[root@bogon ~]# netstat -au Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State udp 0 0 0.0.0.0:57029 0.0.0.0:* udp 0 0 0.0.0.0:mdns 0.0.0.0:* udp 0 0 0.0.0.0:50702 0.0.0.0:* udp 0 0 bogon:domain 0.0.0.0:* udp 0 0 0.0.0.0:bootps 0.0.0.0:* udp 0 0 0.0.0.0:bootpc 0.0.0.0:* udp 0 0 0.0.0.0:bootpc 0.0.0.0:* udp 0 0 0.0.0.0:35456 0.0.0.0:* udp6 0 0 [::]:44888 [::]:* udp6 0 0 [::]:56762 [::]:* [root@bogon ~]#
只顯示監聽端口 netstat -l
只列出全部監聽 tcp 端口 netstat -lt
只列出全部監聽 udp 端口 netstat -lu
只列出全部監聽 UNIX 端口 netstat -lx
顯示全部端口的統計信息 netstat -s
顯示 TCP 或 UDP 端口的統計信息 netstat -st 或 -su
[root@bogon ~]# netstat -ap | grep httpd tcp6 0 0 [::]:ddi-tcp-1 [::]:* LISTEN 8241/httpd [root@bogon ~]#
找出運行在指定端口的進程
netstat -an | grep ':80'
顯示詳細信息,像是 ifconfig 使用 netstat -ie:
[root@bogon ~]# netstat -ie Kernel Interface table eno16777736: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 10.21.95.122 netmask 255.255.248.0 broadcast 10.21.95.255 inet6 fe80::20c:29ff:fec1:d18d prefixlen 64 scopeid 0x20<link> ether 00:0c:29:c1:d1:8d txqueuelen 1000 (Ethernet) RX packets 1982450 bytes 1199270303 (1.1 GiB) RX errors 0 dropped 12 overruns 0 frame 0 TX packets 377406 bytes 43147467 (41.1 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
查看鏈接某服務端口最多的的IP地址
netstat -nat | grep "192.168.1.15:22" |awk '{print $5}'|awk -F: '{print $1}'|sort|uniq -c|sort -nr|head -20
TCP各類狀態列表
[root@bogon ~]# netstat -nat |awk '{print $6}' established) Foreign LISTEN LISTEN LISTEN LISTEN LISTEN ESTABLISHED LISTEN LISTEN LISTEN [root@bogon ~]#
先把狀態全都取出來,而後使用uniq -c統計,以後再進行排序。
[root@bogon ~]# netstat -nat |awk '{print $6}'|sort|uniq -c 1 established) 1 ESTABLISHED 1 Foreign 8 LISTEN [root@bogon ~]#
[root@bogon ~]# netstat -nat |awk '{print $6}'|sort|uniq -c|sort -rn 8 LISTEN 1 Foreign 1 ESTABLISHED 1 established) [root@bogon ~]#
分析access.log得到訪問前10位的ip地址
awk '{print $1}' access.log |sort|uniq -c|sort -nr|head -10
1.須要指定網卡的名稱 -nn表明ip和端口
[root@bogon ~]# tcpdump -nn -i eno16777736
#抓取全部通過 eth0,目的或源地址是 192.168.29.162 的網絡數據 命令:tcpdump -n -i eth0 host 192.168.29.162 # 源地址 命令:tcpdump -i eth1 src host 192.168.29.162 # 目的地址 命令:tcpdump -i eth1 dst host 192.168.29.162 #抓取當前服務器eth0網卡端口8080的網絡數據 命令:tcpdump -n -i eth0 port 8080 #抓取mysql執行的sql語句 命令:tcpdump -i eth1 -s 0 -l -w - dst port 3306 | strings #抓取mysql通信的網絡包(cap用wireshark打開) 命令tcpdump -n -nn -tttt -i eth0 -s 65535 'port 3306' -w 20160505mysql.cap #抓取SMTP 數據 命令:tcpdump -i eth1 'tcp[tcpflags] & tcp-syn != 0 and tcp[tcpflags] & tcp-ack != 0' #抓取HTTP GET數據,"GET "的十六進制是 47455420 命令:tcpdump -i eth1 'tcp[(tcp[12]>>2):4] = 0x47455420' #抓取SSH返回,"SSH-"的十六進制是 0x5353482D 命令:tcpdump -i eth1 'tcp[(tcp[12]>>2):4] = 0x5353482D' #實時抓取端口號8080的GET包,而後寫入GET.log 命令:tcpdump -i eth0 '((port 8080) and (tcp[(tcp[12]>>2):4]=0x47455420))' -nnAl -w /tmp/GET.log #抓取指定SYN個數,-c 參數指定抓多少個包。 命令:time tcpdump -nn -i eth0 'tcp[tcpflags] = tcp-syn' -c 10
抓10個數據包
[root@bogon ~]# tcpdump -nn -i eno16777736 -c 10 tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on eno16777736, link-type EN10MB (Ethernet), capture size 65535 bytes 17:51:37.366999 IP 10.21.95.218.62207 > 64.233.189.138.443: Flags [S], seq 3948769275, win 8192, options [mss 1460,nop,wscale 2,nop,nop,sackOK], length 0 17:51:37.367040 IP 10.21.95.218.62190 > 64.233.189.102.443: Flags [S], seq 1726614355, win 8192, options [mss 1460,nop,nop,sackOK], length 0 17:51:37.371158 IP 10.21.95.122.22 > 10.21.95.218.60472: Flags [P.], seq 4093317757:4093317953, ack 845950440, win 272, length 196 17:51:37.374023 IP 10.21.95.218.60472 > 10.21.95.122.22: Flags [.], ack 196, win 16210, length 0 17:51:37.375754 IP 10.21.95.122.22 > 10.21.95.218.60472: Flags [P.], seq 196:776, ack 1, win 272, length 580 17:51:37.375982 IP 10.21.95.122.22 > 10.21.95.218.60472: Flags [P.], seq 776:924, ack 1, win 272, length 148 17:51:37.376099 IP 10.21.95.218.60472 > 10.21.95.122.22: Flags [P.], seq 1:53, ack 924, win 16425, length 52 17:51:37.376220 IP 10.21.95.122.22 > 10.21.95.218.60472: Flags [P.], seq 924:1184, ack 53, win 272, length 260 17:51:37.376373 IP 10.21.95.122.22 > 10.21.95.218.60472: Flags [P.], seq 1184:1348, ack 53, win 272, length 164 17:51:37.376539 IP 10.21.95.218.60472 > 10.21.95.122.22: Flags [.], ack 1348, win 16319, length 0 10 packets captured 10 packets received by filter 0 packets dropped by kernel [root@bogon ~]#
查看抓到的包文件
[root@bogon ~]# tcpdump -r /tmp/tcpdump.txt
tshark
1,實時打印當前http請求的url # tshark -s 512 -i eth0 -n -f 'tcp dst port 80' -R 'http.host and http.request.uri' -T fields -e http.host -e http.request.uri -l | tr -d '\t' 參數含義: -s 512 :只抓取前512個字節數據 -i eth0 :捕獲eth0網卡 -n :禁止網絡對象名稱解析 -f 'tcp dst port 80' :只捕捉協議爲tcp,目的端口爲80的數據包 -R 'http.host and http.request.uri' :過濾出http.host和http.request.uri -T fields -e http.host -e http.request.uri :打印http.host和http.request.uri -l :輸出到標準輸出 二、實時打印當前mysql查詢語句 # tshark -s 512 -i eth0 -n -f 'tcp dst port 3306' -R 'mysql.query' -T fields -e mysql.query 參數含義: -s 512 :只抓取前512個字節數據 -i eth0 :捕獲eth0網卡 -n :禁止網絡對象名稱解析 -f 'tcp dst port 3306' :只捕捉協議爲tcp,目的端口爲3306的數據包 -R 'mysql.query' :過濾出mysql.query -T fields -e mysql.query :打印mysql查詢語句
在Linux下,當咱們須要抓取網絡數據包分析時,一般是使用tcpdump抓取網絡raw數據包存到一個文件,而後下載到本地使用wireshark界面網絡分析工具進行網絡包分析。 最近才發現,原來wireshark也提供有Linux命令行工具-tshark。tshark不只有抓包的功能,還帶了解析各類協議的能力。下面咱們以兩個實例來介紹tshark工具。 主要參數: 1. 抓包接口類 -i 設置抓包的網絡接口,不設置則默認爲第一個非自環接口。 -D 列出當前存在的網絡接口。在不瞭解OS所控制的網絡設備時,通常先用「tshark -D」查看網絡接口的編號以供-i參數使用。 -f 設定抓包過濾表達式(capture filter expression)。抓包過濾表達式的寫法雷同於tcpdump,可參考tcpdump man page的有關部分。 -s 設置每一個抓包的大小,默認爲65535,多於這個大小的數據將不會被程序記入內存、寫入文件。(這個參數至關於tcpdump的-s,tcpdump默認抓包的大小僅爲68) -p 設置網絡接口以非混合模式工做,即只關心和本機有關的流量。 -B 設置內核緩衝區大小,僅對windows有效。 -y 設置抓包的數據鏈路層協議,不設置則默認爲-L找到的第一個協議,局域網通常是EN10MB等。 -L 列出本機支持的數據鏈路層協議,供-y參數使用。 2. 抓包中止條件 -c 抓取的packet數,在處理必定數量的packet後,中止抓取,程序退出。 -a 設置tshark抓包中止向文件書寫的條件,事實上是tshark在正常啓動以後中止工做並返回的條件。條件寫爲test:value的形式,如「-a duration:5」表示tshark啓動後在5秒內抓包而後中止;「-a filesize:10」表示tshark在輸出文件達到10kB後中止;「-a files:n」表示tshark在寫滿n個文件後中止。(windows版的tshark0.99.3用參數「-a files:n」不起做用——會有無數多個文件生成。因爲-b參數有本身的files參數,所謂「和-b的其它參數結合使用」無從提及。這也許是一個bug,或tshark的man page的書寫有誤。) 3. 文件輸出控制 -b 設置ring buffer文件參數。ring buffer的文件名由-w參數決定。-b參數採用test:value的形式書寫。「-b duration:5」表示每5秒寫下一個ring buffer文件;「-b filesize:5」表示每達到5kB寫下一個ring buffer文件;「-b files:7」表示ring buffer文件最多7個,周而復始地使用,若是這個參數不設定,tshark會將磁盤寫滿爲止。 4. 文件輸入 -r 設置tshark分析的輸入文件。tshark既能夠抓取分析即時的網絡流量,又能夠分析dump在文件中的數據。-r不能是命名管道和標準輸入。 5. 處理類 -R 設置讀取(顯示)過濾表達式(read filter expression)。不符合此表達式的流量一樣不會被寫入文件。注意,讀取(顯示)過濾表達式的語法和底層相關的抓包過濾表達式語法不相同,它的語法表達要豐富得多,請參考http://www.ethereal.com/docs/dfref/和http://www.ethereal.com/docs/man-pages/ethereal-filter.4.html。相似於抓包過濾表達式,在命令行使用時最好將它們quote起來。 -n 禁止全部地址名字解析(默認爲容許全部)。 -N 啓用某一層的地址名字解析。「m」表明MAC層,「n」表明網絡層,「t」表明傳輸層,「C」表明當前異步DNS查找。若是-n和-N參數同時存在,-n將被忽略。若是-n和-N參數都不寫,則默認打開全部地址名字解析。 -d 將指定的數據按有關協議解包輸出。如要將tcp 8888端口的流量按http解包,應該寫爲「-d tcp.port==8888,http」。注意選擇子和解包協議之間不能留空格。 6. 輸出類 -w 設置raw數據的輸出文件。這個參數不設置,tshark將會把解碼結果輸出到stdout。「-w-」表示把raw輸出到stdout。若是要把解碼結果輸出到文件,使用重定向「>」而不要-w參數。 -F 設置輸出raw數據的格式,默認爲libpcap。「tshark -F」會列出全部支持的raw格式。 -V 設置將解碼結果的細節輸出,不然解碼結果僅顯示一個packet一行的summary。 -x 設置在解碼輸出結果中,每一個packet後面以HEX dump的方式顯示具體數據。 -T 設置解碼結果輸出的格式,包括text,ps,psml和pdml,默認爲text。 -t 設置解碼結果的時間格式。「ad」表示帶日期的絕對時間,「a」表示不帶日期的絕對時間,「r」表示從第一個包到如今的相對時間,「d」表示兩個相鄰包之間的增量時間(delta)。 -S 在向raw文件輸出的同時,將解碼結果打印到控制檯。 -l 在處理每一個包時即時刷新輸出。 -X 擴展項。 -q 設置安靜的stdout輸出(例如作統計時) -z 設置統計參數。 7. 其它 -h 顯示命令行幫助。 -v 顯示tshark的版本信息。 -o 重載選項。
tshark -s 512 -i eth0 -n -f 'tcp dst port 80' -R 'http.host and http.request.uri' -T fields -e http.host -e http.request.uri -l | tr -d '\t'
下面介紹參數含義:
-s 512 :只抓取前512個字節數據
-i eth0 :捕獲eth0網卡
-n :禁止網絡對象名稱解析
-f 'tcp dst port 80' :只捕捉協議爲tcp,目的端口爲80的數據包
-R 'http.host and http.request.uri' :過濾出http.host和http.request.uri
-T fields -e http.host -e http.request.uri :打印http.host和http.request.uri
-l :輸出到標準輸出
三、實時打印當前mysql查詢語句
tshark -s 512 -i eth0 -n -f 'tcp dst port 3306' -R 'mysql.query' -T fields -e mysql.query
下面介紹參數含義:
-s 512 :只抓取前512個字節數據
-i eth0 :捕獲eth0網卡
-n :禁止網絡對象名稱解析
-f 'tcp dst port 3306' :只捕捉協議爲tcp,目的端口爲3306的數據包
-R 'mysql.query' :過濾出mysql.query
-T fields -e mysql.query :打印mysql查詢語句
tshark使用-f來指定捕捉包過濾規則,規則與tcpdump同樣,能夠經過命令man pcap-filter來查得。
tshark使用-R來過濾已捕捉到的包,與界面板wireshark的左上角Filter一致。
1.ip addr查看網絡信息
2.不能用ifconfig的時候須要安裝net-tools包
3.ifup 鏈接一個網卡,斷掉一個網卡 ifdown
4.添加虛擬網卡
[root@bogon ~]# cd /etc/sysconfig/network-scripts/ [root@bogon network-scripts]# cp ifcfg-eno16777736 ifcfg-eno16777736\:0
[root@bogon network-scripts]# vi !$ vi ifcfg-eno16777736\:0
修改網卡配置文件
"ifcfg-eno16777736:0" 19L, 353C written TYPE=Ethernet BOOTPROTO=dhcp DEFROUTE=yes PEERDNS=yes PEERROUTES=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_PEERDNS=yes IPV6_PEERROUTES=yes IPV6_FAILURE_FATAL=no NAME=eno16777736:0 UUID=236aa9fb-d376-43af-9781-a2844479a034 DEVICE=eno16777736:0 ONBOOT=yes IPADDR=10.21.95.123 NETMASK=255.255.255.0
新網卡添加成功
[root@bogon network-scripts]# ifdown eno16777736 && ifup eno16777736 Device 'eno16777736' successfully disconnected. 成功激活的鏈接(D-Bus 激活路徑:/org/freedesktop/NetworkManager/ActiveConnection/6) [root@bogon network-scripts]# ifconfig eno16777736: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 10.21.95.122 netmask 255.255.248.0 broadcast 10.21.95.255 inet6 fe80::20c:29ff:fec1:d18d prefixlen 64 scopeid 0x20<link> ether 00:0c:29:c1:d1:8d txqueuelen 1000 (Ethernet) RX packets 2023896 bytes 1218698819 (1.1 GiB) RX errors 0 dropped 12 overruns 0 frame 0 TX packets 414344 bytes 51499666 (49.1 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 eno16777736:0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 10.21.95.123 netmask 255.255.255.0 broadcast 10.21.95.255 ether 00:0c:29:c1:d1:8d txqueuelen 1000 (Ethernet) lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10<host> loop txqueuelen 0 (Local Loopback) RX packets 14 bytes 1368 (1.3 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 14 bytes 1368 (1.3 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 virbr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500 inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255 ether 00:00:00:00:00:00 txqueuelen 0 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 virbr0-nic: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500 ether 52:54:00:7c:76:ca txqueuelen 500 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 [root@bogon network-scripts]#
成功ping通
查看網絡是否通
[root@bogon network-scripts]# ethtool eno16777736
[root@bogon network-scripts]# mii-tool eno16777736 eno16777736: negotiated 1000baseT-FD flow-control, link ok [root@bogon network-scripts]#
更改主機名
ubuntu@ip-10-23-45-76:/$ hostnamectl set-hostname sunyujun
更改主機名的配置文件
ubuntu@ip-10-23-45-76:~$ cat /etc/hostname ip-10-23-45-76 ubuntu@ip-10-23-45-76:~$
DNS配置文件
ubuntu@ip-10-23-45-76:~$ cat /etc/resolv.conf # Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8) # DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN nameserver 10.23.0.2 search cn-north-1.compute.internal ubuntu@ip-10-23-45-76:~$
ubuntu@ip-10-23-45-76:/$ vi /etc/sysconfig/network-scripts/ifcfg-eno16777736
linux hosts 文件
ubuntu@ip-10-23-45-76:/$ cat /etc/hosts 127.0.0.1 localhost # The following lines are desirable for IPv6 capable hosts ::1 ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters ff02::3 ip6-allhosts ubuntu@ip-10-23-45-76:/$
1.臨時關閉運行setenforce 0,永久關閉selinux須要編輯配置文件
[root@bogon ~]# vim /etc/selinux/config [root@bogon ~]#
2.設置配置文件SELINUX=disabled保存退出
3.用getenforce查看
[root@bogon ~]# getenforce Disabled [root@bogon ~]#
4.關閉firewalld開機啓動
[root@bogon ~]# systemctl disable firewalld [root@bogon ~]#
5.關閉firewalld服務
[root@bogon ~]# systemctl stop firewalld [root@bogon ~]#
6.安裝iptables服務
[root@bogon ~]# yum install -y iptables-services
7.開啓netfilter服務
[root@bogon ~]# systemctl enable ip ip6tables.service iprinit.service iprutils.target iptables.service iprdump.service iprupdate.service ipsec.service [root@bogon ~]# systemctl enable iptables Created symlink from /etc/systemd/system/basic.target.wants/iptables.service to /usr/lib/systemd/system/iptables.service. [root@bogon ~]# systemctl start iptables [root@bogon ~]#
8.查看iptables防火牆的默認規則
[root@bogon ~]# iptables -nvL Chain INPUT (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination 79568 195M ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED 0 0 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0 0 0 ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0 0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22 12367 2538K REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited Chain FORWARD (policy ACCEPT 0 packets, 0 bytes) pkts bytes target prot opt in out source destination 0 0 REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited Chain OUTPUT (policy ACCEPT 73815 packets, 4971K bytes) pkts bytes target prot opt in out source destination [root@bogon ~]#