[Network] Linux Telnet & Netcat (nc) – 測試TCP/UDP工具

Intro Netcat (nc) Telnet Telnet 簡單用於測試TCP連線 $ telnet www.example.com 80 GET /path/to/file.html HTTP/1.1 Host: www.example.com Connection: close Netcat (nc) TCP/UDP讀寫工具,測試UDP利器 在埠25建立內容未加工過的連接(類似telnet): $ nc mail.server.net 25 利用零模式I/O(參數 -z)檢查192.168.0.1的UDP埠(參數 -u)80-90是否開啟: $ nc -vzu 192.168.0.1 80-81 測試UDP,透過發送訊息 $ nc -vu example.com 443 Connection […]

[並行控制] Concurrency control 指南

Intro Concurrency control – 並行控制 Database – 資料庫管理系統 悲觀鎖 – PCC 悲觀並行控制 – Pessimistic Concurrency Control,縮寫「PCC」 「先取鎖再訪問」 效率不佳,且有增加產生死鎖(deadlock)機會 MySQL 實現案例 (InnoDB Transaction) # Row-level Lock for share SELECT * FROM parent WHERE NAME = ‘Jones’ FOR SHARE; # Row-level Lock […]

[Windows] 系統重灌安裝指南 (支援Windows10 1809之後版本)

Intro 依據PC不同的開機磁區標準疊代,截至目前整理為以下: MBR: 最高支援FAT32檔案格式,製作安裝碟需要工具軟體,如UltraISO。 UEFI: 目前最高支援FAT32檔案格式,可以直接透過FAT32檔案格式複製所以檔案至安裝碟。 UEFI FAT32限制 因為UEFI目前僅支援到FAT32檔案格式,當ISO內容檔案超過4GB則需要特別處理,如切割檔案或者使用兩個磁區分別作為FAT32啟動並讀取另一個檔案格式磁碟內容。 以下介紹Windows的問題以及軟體工具推薦。 Windows 10 1809 之後版本 (2018年) Windows 10在1809版本後單檔已經超過4GB,即會面臨到需要處理UEFI FAT32限制問題。 Rufus 解決方案 Rufus (Github) 非常方便的開放原始碼軟體工具,有效解決UEFI FAT32問題。 – 若選擇小於4G以上的ISO檔,則僅能選擇MBR+FAT32模式(支援UEFI-CSM)。 – 若選擇超過4G以上的ISO檔,則可以選擇MBR(支援UEFI-CSM)或UEFI,檔案系統僅可選擇NTFS,實現由FAT32作為UEFI開機磁區並引導讀取NTFS磁區檔案。 – 超過4G以上的方式會需要BIOS先disable Secure Boot。

[Linux][Swap] 虛擬記憶體分頁Swap指南

Intro Wiki – 分頁Swap 常見的應用情境如開發環境要做套件安裝如PHP Composer,則可以利用暫時設定檔案Swap的方式解決。 基本用法 查看Swap狀態: swapon -s 卸載Swap: # Partition swapoff /dev/hdb2 # File swapoff /swapfile 透過Partition分割 透過檔案增加 主要透過swapon與swapoff指令來操作設定分頁,利用實體所在硬碟分割區中的檔案提供Swap。 先建立一個想要配給Swap容量的檔案於硬碟分割區,可以透過fallocate指令: fallocate -l 2G /swapfile 格式化此檔案為Swap file: chmod 600 /swapfile mkswap /swapfile swapon /swapfile 確認查看或設定自動掛載 完成後可以使用swapon -s指令確認查看,另外如要自動掛載則可以於/etc/fstab加入設定: /swapfile […]

[Linux] SSH Manual – SSH 使用指南

Intro RFC4252 – The Secure Shell (SSH) Authentication Protocol SSH – OpenBSD manual page server ssh_config — OpenSSH SSH client configuration files ssh $ ssh user@host.com ssh [-46AaCfGgKkMNnqsTtVvXxYy] [-B bind_interface] [-b bind_address] [-c cipher_spec] [-D [bind_address:]port] [-E log_file] [-e escape_char] […]

[OS] MacOS 基本使用架構與環境指南

Intro MacOS雖然是封閉系統,但這年頭應該很難不用到Mac筆電。 使用了Mac筆電意味著BIOS全部走Mac系列。 開機區 MacOS走UEFI,開機時按住指定鍵組: Option: 列出可開機磁區供選擇(如Bootcamp Windows),亦支援Windows開機區。 Command+R: 進入修復工具,包含磁碟工具程式與重新安裝OS X。 重灌 目前MacOS版本的修復工具已有線上OS直接下載安裝支援,連上網路即可只接重新安裝。全新安裝可先清除磁區再安裝。 Windows with MacOS Bootcamp 建議的安裝方式,在MacOS的Bootcamp(啟動切換輔助程式)工具程式分割與引導安裝Windows。目前版本上MacOS還是會每次下載驅動程式,其只需要分割出一個Partition供Windows使用即可。 觸控板捲軸反向問題 以下為原生Bootcamp解法,亦可裝第三方驅動程式解決 Bootcamp的Windows可以在右下角Bootcamp控制台做鍵盤與觸控板設定,另外觸控板反向驅動如果Windows設定內也沒有則可以透過修改登錄檔: 找到觸控板的裝置識別碼 (可以透過Windows觸控板設定更多內容 > 詳細資料 > 屬性:選裝置識別碼或路徑) 登錄檔修改(regedit)內搜尋或找到HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Enum \ HID \ {裝置識別碼} \ ??? […]

[Network] Fail2ban 指南 – 搭配 SSH/Nginx (DDoS、Request Limit)

Outline SSH 設定方針 Nginx 防禦設定方針 Access log Error log by llimit_req_zone 進階 Fail2ban 設定 Email Notifications Intro Fail2ban – Manuals 架構 Fail2ban 是依照設定檔執行過濾,原始設定檔路徑: /etc/fail2ban/jail.conf 如要修改新增可以複製建立成local的設定檔名稱,如有此檔會以此檔優先: /etc/fail2ban/jail.local /etc/fail2ban/jail.d/* Ubuntu Fail2ban 0.9 版本中可以找到預設的/etc/fail2ban/jail.d/defaults-debian.conf,內容是對[sshd]做enabled = true。 所以安裝好後預設即會開啟SSH保護(預設port為22) [過濾器名稱]會對應到/etc/fail2ban/filter.d/過濾器名稱.conf。 參數解析 官方文件 – Options port: […]