Linux學習筆記(2月27日)

2021-09-11 12:51:21 字數 4304 閱讀 3671

檢視網路狀況:

netstat:

用於列出系統上所有的網路套接字連線情況,包括tcp,udp以及unix套接字,另外它還能列出處於監聽狀態(即等待接入請求)的套接字。如果想確認系統上的服務有沒有起來,可以檢視相應的埠有沒有開啟。

狀態說明:

listen:偵聽來自遠方的tcp埠的連線請求

syn-sent:再傳送連線請求後等待匹配的連線請求(如果有大量這樣的狀態包,檢查是否中招了)

syn-received:再收到和傳送乙個連線請求後等待對方對連線請求的確認(如有大量此狀態,估計被flood攻擊了)

established:代表乙個開啟的連線

fin-wait-1:等待遠端tcp連線中斷請求,或先前的連線中斷請求的確認

fin-wait-2:從遠端tcp等待連線中斷請求

close-wait:等待從本地使用者發來的連線中斷請求

closing:等待遠端tcp對連線中斷的確認

last-ack:等待原來的發向遠端tcp的連線中斷請求的確認(不是什麼好東西,此項出現,檢查是否被攻擊)

time-wait:等待足夠的時間以確保遠端tcp接收到連線中斷請求的確

closed:沒有任何連線狀態

常用選項:

-a:列出所有當前的連線

-t:列出 tcp 協議的連線

-u:列出 udp 協議的連線

-n:預設情況下netstat會通過反向網域名稱解析技術查詢每個ip位址對應的主機名。這會降低查詢速度。如果覺得ip位址已經足夠,而沒有必要知道主機名,就使用-n選項禁用網域名稱解析功能

-l:任何網路服務的後台程序都會開啟乙個埠,用於監聽接入的請求。這些正在監聽的套接字也和連線的套接字一樣,也能被 netstat 列出來,使用-l列出正在監聽的套接字

-p:檢視程序資訊,使用-p選項時,netstat必須執行在root許可權之下,不然它就不能得到執行在root許可權下的程序名,而很多服務包括http和ftp都執行在root許可權之下

ss:ss命令可以用來獲取socket統計資訊,它可以顯示和netstat類似的內容。ss的優勢在於它能夠顯示更多更詳細的有關tcp和連線狀態的資訊,而且比netstat更快速更高效。當伺服器的socket連線數量變得非常大時,無論是使用netstat命令還是直接cat /proc/net/tcp,執行速度都會很慢。ss之所以快,是因為它利用到了tcp協議棧中tcp_diag。tcp_diag是乙個用於分析統計的模組,可以獲得linux核心中第一手的資訊,這就確保了ss的快捷高效。它的命令選項和netstat類似。

抓包工具:

tcpdump:

tcpdump是乙個用於擷取網路分組,並輸出分組內容的工具。tcpdump支援針對網路層、協議、主機、網路或埠的過濾,並提供and、or、not等邏輯語句來去掉無用的資訊。

選項:-c:在收到指定的數量的分組後,tcpdump就會停止,例如-c 100

-i:指定監聽的網路介面

-nn:不進行埠名稱的轉換

-r:從指定的檔案中讀取包(這些包一般通過-w選項產生)

-w:直接將分組寫入檔案中,而不是不分析並列印出來

例:tcpdump -i ens33 -nn -c 100 -w test.cap——抓取100條網口ens33的資料報並寫入test.cap,如果要讀取該檔案內容,則執行tcpdump -nn -r test.cap

wireshark:

wireshark是乙個網路封包分析軟體。網路封包分析軟體的功能是擷取網路封包,並盡可能顯示出最為詳細的網路封包資料。wireshark使用winpcap作為介面,直接與網絡卡進行資料報文交換。

wireshark命令的選項和tcpdump類似,可以根據實際情況來分別使用:

為什麼要做監控?——可以提前發現潛在故障隱患,第一時間解決掉。把影響降低。

監控的物件——簡單的說,監控的物件就是一切你想知道的狀態的乙個集合。通常情況下,我們可以將監控物件這麼來分:

伺服器監控:cpu 負載、記憶體使用率、磁碟使用率、登陸使用者數、程序狀態、網絡卡狀態等。

應用程式監控:應用程式的服務狀態、吞吐率和響應時間等,不同應用需要監控的物件也不同。

資料庫監控:資料庫狀態、資料庫表或者表空間的使用情況、是否有死鎖、錯誤日誌、效能資訊等等。

網路監控:網路狀況,網路流量等。

監控工具:針對不同的行業,針對不同的應用,針對不同的服務都有很多監控工具,有客戶端的監控和瀏覽器的監控。 linux 平台下的監控方法基本上可以分為兩種,第一種是通過外部檢測命令或者**程式獲得被監控主機的相關狀態;第二種是通過snmp協議來實現對伺服器和網路裝置的監控工作。

zabbix的安裝及配置

[root@rice01 ~]# rpm -uvh  // 安裝zabbix的yum配置檔案和資料庫配置包,

[root@rice01 ~]# yum clean all // 清理yum快取

[root@rice01 ~]# yum install -y zabbix-agent zabbix-get zabbix-server-mysql zabbix-web-mysql zabbix-web

[root@rice01 ~]# mysql -uroot -p111111

mariadb [(none)]> create database zabbix;

mariadb [(none)]> grant all on zabbix.* to 'zabbix'@'127.0.0.1' identified by '111111';

mariadb [(none)]> bye

[root@rice01 ~]# vi /etc/zabbix/zabbix_server.conf

dbhost=127.0.0.1 // 定義資料庫ip

dbpassword=111111 // 定義資料庫密碼

[root@rice01 ~]# cd /usr/share/doc/zabbix-server-mysql-4.0.5/

[root@rice01 zabbix-server-mysql-4.0.5]# gzip -d create.sql.gz

[root@rice01 zabbix-server-mysql-4.0.5]# mysql -uroot -p111111 zabbix < create.sql // 匯入初始架構和資料

[root@rice01 zabbix-server-mysql-4.0.5]# systemctl start zabbix-server

[root@rice01 zabbix-server-mysql-4.0.5]# systemctl enable zabbix-server

[root@rice01 zabbix-server-mysql-4.0.5]# vi /etc/zabbix/zabbix_agentd.conf

// 定義server=127.0.0.1和serveractive=127.0.0.1

[root@rice01 zabbix-server-mysql-4.0.5]# systemctl start zabbix-agent

[root@rice01 zabbix-server-mysql-4.0.5]# systemctl enable zabbix-agent

[root@rice01 zabbix-server-mysql-4.0.5]# systemctl stop nginx // 如果系統開啟了nginx服務,需要先關閉nginx

[root@rice01 zabbix-server-mysql-4.0.5]# systemctl start httpd

瀏覽器介面設定zabbix

開啟瀏覽器訪問ip/zabbix,進入zabbix設定介面,首先需要設定時區:

vi /etc/php.ini,將date.timezone定義為asia/shanghai,儲存退出後重啟httpd服務,再重新整理瀏覽器繼續進行設定,設定完成後使用預設管理員賬號admin和密碼zabbix登陸管理介面。

2月4日學習記錄 2 7日

1.pytorch入門學習 這個官方教程還挺好的。可以作為乙個手冊來查詢。包括建立物件,物件與numpy的互相轉換,物件的 操作,物件轉移到gpu上。第二個dataloader的教程學到了可以使用dataloader載入資料,自動完成分batch,shuffle,等工作,首先對每個資料集可以繼承da...

10月27日 css學習筆記

css三種布局模型 flow 流動型 float 浮動型 layer 層模型 流動模型特點 第一點,塊狀元素都會在所處的包含元素內自上而下按順序垂直延伸分布,因為在預設狀態下,塊狀元素的寬度都為100 實際上,塊狀元素都會以行的形式佔據位置。第二點,在流動模型下,內聯元素都會在所處的包含元素內從左到...

Linux學習筆記(2月14日)

ssl secure sockets layer 安全套接層 及其繼任者傳輸層安全 transport layer security,tls 是為網路通訊提供安全及資料完整性的一種安全協議。tls與ssl在傳輸層對網路連線進行加密。1 認證使用者和伺服器,確保資料傳送到正確的客戶機和伺服器 2 加密...