有位朋友拿了一台無線路由器,請我協助找回 PPPoE 的用戶名與密碼。網路上相關教學較為零散,因此整理此文記錄完整流程,嚴禁用於非法用途。
FreeBSD 下的 mpd5 是撥號領域的利器,可同時作為客戶端與伺服器端。透過 pkg 安裝:
pkg install mpd5
複製範例配置並修改關鍵五行:
cp /usr/local/etc/mpd5/mpd5.conf.sample /usr/local/etc/mpd5/mpd5.conf
核心修改點:
pppoe_serverpppoe service 設為 "*",確保客戶端封包能通過em0)關鍵片段:
default:
load pppoe_server
pppoe_server:
create bundle template B
set ipcp ranges 192.168.0.1/32 127.0.0.2/32
create link template common pppoe
set link enable multilink
set link action bundle B
set link disable chap pap eap
set link enable pap
# load radius
set pppoe service "*"
create link template em0 common
set link max-children 1000
set pppoe iface em0
set link enable incoming
注意: mpd.conf 要求除段落名外每行前需有空格,部落格編輯器可能吞掉前導空格,請參考系統自帶範例調整縮排。
/usr/local/etc/rc.d/mpd5 onestart
使用 tcpdump 監聽 PPPoE 封包,過濾 pppoes 協議:
tcpdump -ani em0 pppoes
輸出中 PAP, Auth-Req 行即包含帳密,範例中用戶名 csh、密碼 123456:
18:09:08.946030 PPPoE [ses 0x4a] PAP, Auth-Req (0x01), id 1, Peer csh, Name 123456
/usr/local/etc/mpd5/mpd5.conf.sample 為準。