/images/avatar.png

VMWare Module 重新編譯問題

背景

VMWare 使用自己的核心模組:

  • vmmon (Virtual Machine Monitor):它負責虛擬機的 CPU 執行、記憶體管理以及與硬體虛擬化技術(如 Intel VT-x 或 AMD-V)的溝通。如果這個模組沒掛載,你的虛擬機連開機(Power On)都辦不到。
  • vmnet (Virtual Network):負責虛擬網路。包含你常用的 Bridged、NAT、Host-only 等網路模式。如果這個沒過,虛擬機能開機但會完全斷網

這兩個模組在 Linux 核心更新的時候,都需要重新編譯。

DDoS 基礎了解

基礎簡介

常常用到的網路協定包含:

  • L3: ICMP
  • L4: TCP/UDP
  • L7: HTTP

打的受害目標:

  • 網卡頻寬
  • 一般電腦
    • CPU 的軟中斷 (%si)。即使頻寬沒滿,如果每秒湧入千萬個小封包,CPU 會花光所有時間在處理網卡中斷,導致系統崩潰
    • Kernel State Tables,SYN Backlog Queue 與 Conntrack Table。核心必須記住「誰還沒完成三次握手」。當這些表格滿了,系統會直接丟棄後續所有新連線
  • 防火牆
    • 也是有 Conntrack Table
  • 應用程式的資源,像是 Web Server (Nginx/Apache) 或資料庫
    • File Descriptors (FD)、Thread Pool、Memory、Database Connections
kola:~$ sysctl net.netfilter.nf_conntrack_max
net.netfilter.nf_conntrack_max = 262144
kola:~$ sysctl net.netfilter.nf_conntrack_count
net.netfilter.nf_conntrack_count = 213
kola:~$ cat /proc/sys/net/netfilter/nf_conntrack_buckets
262144

這是系統允許同時追蹤的最大連線數量。當這個數字滿了,系統就會開始丟棄新的連線封包,一般電腦不一定會用到 nf_conntrack,但很常會用到,像是 Docker 等應用程式。

Hping3 工具使用

hping3

hping 最早來自 Salvatore Sanfilippo (網名 antirez)。沒錯,他就是後來開發了 Redis 的那位傳奇工程師。

根據 AI,他的演進好像是:

  • hping (1998 年):最初版本。它打破了傳統 ping 的限制,允許使用者手動設定 TCP 序號。在當時,這對於研究 TCP 序列預測(Sequence Prediction)攻擊非常有用
  • hping2 (2001-2002 年):這個版本將功能擴展到了 UDP、ICMP 以及更複雜的路徑 MTU 發現。它成為了當時滲透測試工程師的標準配備
  • hping3 (2004 年至今):這是目前最穩定、最廣泛使用的版本

hping3 最核心的整合是,整合了 Tcl (Tool Command Language) 腳本語言。這代表你不再只能下單行指令,你可以寫腳本來定義複雜的封包發送邏輯。但在這邊我們只是看他的指令。

FreeBSD ISO/Image 介紹

基礎知識

  • .iso:最早專為光碟(CD/DVD)設計的標準格式(ISO 9660),適合燒錄成實體光碟、掛載於虛擬機(VMware, VirtualBox, Proxmox)的虛擬光碟機
  • .img:這是磁碟的「位元組對位元組(Byte-by-byte)」複製,包含分割表(Partition Table)和開機引導程式(Bootloader),本質上就是一顆硬碟的縮影,通常使用 dd 指令或 Etcher 燒錄
  • .qcow2:QEMU / KVM (Proxmox) 常用
  • .vhd:Microsoft Hyper-V / Azure 常用
  • .vmdk:VMware 專用
  • .raw:無格式原始檔,通用於各種雲端平台(如 AWS, GCP)

實際案例

我們以 FreeBSD 15.0 stable 為例介紹。