Thunderbird 圖文簽名檔

20230315發表更新的做法

Thunderbird的簽名檔有三種方式:第一種是html、第二種是檔案附加、第三種是電子名片。

如果簽名檔要圖文,像是公司的信件簽名檔。

第一種html只有標籤語法,無法自帶圖片檔案,也不會自動附加。

第二種也只能附加一個,不是html就是圖片,如果兩個無法同時附上,就無法正常顯示圖文。又或者是把簽名檔製成圖片,但這樣就會失去複製文字貼上的便捷,像是email就要手動輸入。

第三種電子名片並沒有附加圖片的功能。

如果是使用Win10中內建的郵件,簽名檔就會有編輯器,可以把圖文一並附上。但Thunderbird沒有,也是最可惜的地方。

解決辦法:

使用第一種html,並引入網路上的圖片」。

html的寫法就不多敘述了,圖片可以指一個來源,只要這圖片不會被莫名下架,而且位置固定,就可以當作一個好的來源。

通常雲端硬碟的圖片會啟動它的編輯器,位置也會更動,並不適合拿來當固定來源。

而雲端相簿則可以固定位置,會是比較好的圖片引入來源。

個人是用wordpress去放上圖片,然後圖片的網址也是固定的,而且好懂得,載入速度也是很快的。

用Wireshark還原TFTP的檔案

首先要製作TFTP的封包出來,這裡把一張圖片用TFTP的協定傳過去。

mylogo.png
TFTP成功傳遞

選擇第一個 Date Packet,右鍵 > Follow > UDP Streams

方向選擇 Server > Client,Show Data as 「Raw」。

向選擇 Server > Client,Show Data as 「Raw」。

這裡可以看到每一個段落前面會有 0003000X ,0003表示從Server發出,而000X是該Data的其中第X部分,X是十六進位。

因此只需要把每段的 0003000X 去掉,就可以得到一個還原的檔案。

按下 Save as,儲存為 Raw.png。

接下使用 Python,幫忙把裡面的 0003000X去掉,由於0003000X的出現位置是固定的,只需要拿掉特定區間就可以了。

"""JN的網路日常"""
with open('raw.png', 'rb') as f:
    content = f.read().hex()
    f.close()    

# tftp per part data size = unit
unit = content.find("00030002") - content.find("00030001")
content = content[content.find("00030001"):]
content = "".join([content[i+8: i+unit] for i in range(0, len(content), unit)])

with open("mylogo.png", "wb") as f2:
    f2.write(bytes.fromhex(content))
    f2.close()

執行之後,打開圖,發現可以正常顯示。

場加映,利用Mirror去截取TFTP檔案。

有了前述的概念之後,接下來可以Mirror去攔截別的Port的TFTP檔案,然後還原出來。

用一台具有Mirror功能的Switch,個人使用NETGEAR。

現在要複製一份從TFTP SERVER傳到第四埠的檔案,目前筆電接在第五埠。

啟用Mirror功能,把第四埠的流量複製到第五埠。

接下來要讓筆電的網路介面卡單純地聽,把IPv4的功能取消掉,以免干擾。

接收mirror的介面卡取消IPv4的功能

然後啟動TFTP傳輸,用Wireshark可以看到接收Mirror的介面卡有鏡像過來的TFTP封包。

按照一樣的方法去還原檔案。

Aruba Controller Internel Captive Portal客製化

有些 SSID 會配合 網頁認證 ,而Aruba Controller可以使用內建網頁,甚至是客製網頁,讓登入頁面可以呈現各個案場的風格。

最基本是從新增SSID時去選擇走 Internal Captive Portal with authentication,新增完後,Captive Portal的相關設定,會在SSID對應的Configuration > Roles & Policies >Roles中,至於 Show Advanced View,若看不到 Show Advanced View,請看這篇

點選Custom HTML可以,看到檔案上傳的地方。

HTML要怎麼製作,可以參考官方文件,這裡有一個筆者以此做出的: JN_Custom_CaptivePortal.html(HTML)、 mylgoo.png(LOGO)

檔案上傳會到哪裡?會到一個名稱與SSID Profile對應的資料夾,這位置是固定的,如「/upload/custom/xxx_prof/xxx」。

  1. 先上傳 mylogo.png ,按下Sumbit,再按下Preview,跳出網頁的網址「https://ControllerIP/upload/custom/DemoCP2_cppm_prof/mylogo.png」,所以在此上傳的檔案都會放到 /upload/custom/DemoCP2_cppm_prof/ 路徑上。
  2. 編輯 JN_Custom_CaptivePortal.html ,找到「class=”banner-image”」把其src改成「/upload/custom/DemoCP2_cppm_prof/mylogo.png」 ,儲存。
  3. 上傳 JN_Custom_CaptivePortal.html ,按下Sumbit,再按下Preview,看網頁是否正常。
網頁能順利顯示上傳的圖片。

網頁除了圖片之外,越精美的網頁會用上css與更多的圖片,檔案上傳方式也是參照logo上傳的方法即可。

用手機連入SSID,網頁可正常顯示。

網路工程師的小技巧(一) 手機變AP

在很多時候,需要能存取內部網路,可是機房空間卻不方便做事。為了突破有線距離的限制,就可以使用無線做橋接,讓自己可以在一個舒適的地方使用筆電遠端控制。

因為有線會受到距離限制,還有線材也可能會干擾到其他人做事。

無線可有兩種:藍牙Console、無線熱點串接。

藍牙Console的缺點就是速度慢,但是需要的環境條件較簡單,只要Console Port能用即可。

而無線熱點串接,下指令速度很快,可接收範圍也大些,相對地,需要的環境條件較複雜,需要有DHCP IP派發,還要其能順利路由。

設備來說,藍牙Console上千起跳,而無線熱點串接,只要手機能支援外接乙太網路,設備就不用特別去買。

手機無線熱點串接的運作方式是用外接網卡去以DHCP的方式取得IP,接著手機以無線基地台分享網路,然後讓筆電去連手機的熱點,筆電就能連到內部網路。

在做完網路架構設定時,也會去測試是否能拿到DHCP IP,用手機接比較輕鬆。

通常來說,環境的無線有部署起來,直接連已存在的無線會比較快速。但是如果環境沒有無線,或是Controller需要重啟,或是整理線材。把手機當作AP會比較穩定,而且也自帶電源,就不會一直斷斷續續。這樣操作,流量也是跑環境對外線路,就不會使用到自己的數據流量。

準備:

  1. 能支援乙太網路的手機 (個人是Pixel5)
  2. 外接乙太網路網卡 (個人是用MSI附送的TypeC 乙太網路網卡)
  3. 接上的Port需要發DHCP IP,而且其IP能通到其他設備。
  4. 若無DHCP Server,可在該台串接的網路交換器起臨時的DHCP Server,要有 Default router 。建議使用 MAC Binding IP, Static Binding 以影響到其他設備拿到臨時DHCP IP。

步驟:

  1. 用Console或其他方式連入設備,了解架構,並讓一個Port會發DHCP,是可以路由到所有地方。
  2. 如果沒有既有DHCP Server,就要自起一個。為了避免影響到其他地方,可以在連接的網路交換器起臨時的DHCP Server,然後用MAC去Binding一個可以順暢路由的IP,以避免發給其他設備。
  3. 手機接上外接網卡,然後接線到對應的Port,關掉行動數據上網,開啟無線熱點分享。
  4. 手機放置一個較不影響的地方,在附近找一個好做事的地方,用筆電連接。
  5. 收工前,記得把臨時起的設定還原。

隱憂,手機無線熱點的IP網段可能會與內部網路相同,但機率不高。

最後,為什麼要強調無線?因為現場環境可能會壅擠,接著,透過無線能讓自己到一個舒適的地方做事,筆電也可以充電。近距離的有線連接有時候在梯子上,有時候得蹲坐在地上,又或是環境很熱。

透過無線,讓自己在一個好做事的地方,提升做事效率,讓自己下班時間再提早一些。

網路工程師的基礎教育(三) Network Time Protocol(NTP)

NTP是用於同步時間,同步時間為什麼重要?這關於三者:

  • Log的時間紀錄
  • DNS解析
  • 認證相關

如果時間不正確,這三者可能會發生不正確的狀況,因此讓設備能自動同步到正確時間是很重要的。不建議用手動修正時間,因為斷電會讓設備時間永久跑掉。

至於NTP詳細的介紹,請看 JanHo網路世界

NTP Server有很多選擇,可以參考 台灣慣用公開時間伺服器(NTP.SERVER) ,選哪一個比較好?這會是很重要的議題。

第一點,先設定內部NTP Server的位置,如果客戶有給,先用這個。第二,則從公共NTP伺服器中,選一個最佳的。最佳的會是Stratum最小,或是反應延遲最小,個人是喜歡用「watch.stdtime.gov.tw」,不僅其Stratum是1,而且同步反應也很快。

通常NTP Server是給Domain name,而在下指令的時候,在NTP部分可以指Domian Name,但SNTP只能指 Server IP,所以建議是給 Domain name 轉換成 IP,也就是給DNS解析,直接指NTP Server IP會比較省事。

要把 「watch.stdtime.gov.tw」 轉換成 IP 的方法有二種,第一種是從CMD去執行NSLOOKUP,然後把網址貼上去。第二種是在有指定DNS Server之下,直接ping到這個網址。兩者都可以把網址換成IP,但得到的IP可能會有些不同。

Nslookup
Ping

有了 NTP Server IP, watch.stdtime.gov.tw => 118.163.81.63,接著就可以進CLI去做相關設定。有以下四點要注意:

  • 啟用NTP或SNTP
  • 指定同步用的NTP Server IP
  • 改成Unicast
  • 調整設備時區跟時間同步設定

這四者設定完,等待同步週期,再用 Show 去看時間是否有同步,有同步了,才算真正的完成。

顯示目前設備login使用者

有一些Session會因為意外中斷而卡住vty的名額,需要刪掉卡住Session,其他人才能連到。

廠牌 型號 功能 指令
Aruba 2930F 顯示 show session-list
Aruba 2930F 刪除 kill <session id>
Aruba 2930F 踢出閒置超時 idle-timeout <minute>
Aruba 3810 顯示 show session-list
Aruba 3810 刪除 kill <session id>
Aruba 3810 踢出閒置超時 idle-timeout <minute>
Aruba 70xx 顯示 show loginsessions
Aruba 70xx 刪除 session delete <IP>
HPE 5130 顯示 display users
HPE 5130 刪除 free user-interface <Idx>
HPE 5130 踢出閒置超時 user-interface vty <start> <end>
idle-timeout <minute>

Windows Server DHCP Server 新增 Option

由於Aruba AP可以由DHCP Option 43 與 60 去指定 Controller 的位置,讓其順利報到,特別是需要跨網段。

但 Windows Server DCHP Server 卻沒有 Option 60 可以輸入,因些需要手動加入。

參考官方文件-Configuring a Windows-Based DHCP Server

環境︰Windows Server 2019(192.168.1.51)、Controller(192.168.1.30)、AP(VLAN5 DHCP IP)

首先從Server Manager打開DHCP的管理工具。

展開Server下的IPv4,選擇「Set Predefined Options…」

點「Add…」,跳出小視窗「Option Type」。

對照表格填入,按OK。

Name Aruba Access Point
Data Type String
Code 60
Description Aruba AP vendor class identifier

在060 Aruba Access Point,Value > String設定「ArubaAP」,然後按OK。

進入要設定的Scope,在Scope Options右鍵選「Configure Options…」

勾選「060 Aruba Access Point」。

勾選「043 Vendor Specific Info」,在ASCII下方輸入 Controller IP Address。

完成在Windows Server新增Option 43與Option 60。

網路工程師的基礎教育(二) 光纖模組的檢查

參考資料

光纖模組,一般又簡稱為GBIC,是Giga Bitrate Interface Converter的縮寫,簡單來說就是把訊號由電轉換成光。實際上現在的樣子是SFP(Small Form Pluggable)奠定的,如今大部份都做成這樣的外型,也是最通用的。

GBIC

光纖有分多模跟單模,差別在於光束數目與能傳遞訊號的最大長度。單模多模的的成本不同,多模製作比較容易,所以便宜,然而單模可以用於較長距離的介接。至於會選用單模或多模,主要是依設備間的距離為主。

單模的GBIC跟多模的GBIC的收發技術不同,因此,互接無法通。

中間的光纖線也有分多模與單模使用,多模有 OM1、 OM2、 OM3、OM4等級之分,最後的數字越大,代表能支援更高的速率。OM4的線可勝任OM1環境,反之OM1就不能扛OM4的使用。

https://kknews.cc/zh-tw/tech/z3jjvx3.html

單模GBIC用多模的線,能通。 多模GBIC用單模的線,也能通。但不建議這樣用。

SFP支援到1G的速率,再上去是SFP+支援到10G的速率。雖然兩者外型相似,容易搞混,但使用技術不同,因此互接無法通。

在各家Switch中,用Transceiver來指這類的模組。各家都有出自家的Transceiver,Transceiver與設備不同品牌容易發生光纖模組不支援的情況,因此要留意 Transceiver 上的品牌是否與要接入的設備品牌相同與否。

到此先整理一下,簡單的要點就是︰單模光纖模組用單模線接單模, 多模光纖模組用多模線接多模,1G(SFP)接1G (SFP) ,10G(SFP+)接10G (SFP+) 。最後, 光纖模組外型相似,而且用錯不代表一定不能通,等到發覺時也通常接了一定的數量。

接光纖模組接線時,請檢查手上拿著的器材規格,一定留意不要用錯規格

上方光纖模組沒亮,下方有亮

光纖要能通,需要能收到對方的光,需要能發送自己的光,而且光送到對方時,還要有一定的強度(dB)。

光纖常發生不通的情形,要檢查出光纖哪裡出問題,才有辦法修復線路。

光纖模組有分為SX、LX,分別是紅外線(850nm)與雷射(1310nm)。在接到設備上時,SX的可以用肉眼看見紅光,而LX因為波長超過可見光範圍(360 – 830nm),所以肉眼看不到任何光。

LX用照機拍攝會發紫光

雖然肉眼不可見,但是用照機看,卻能捕捉到紫光。

光纖模組發光與否可以做為初步的故障判斷,若光纖模組有發光,可再檢查介接的光纖線,多模可以從線中的光纖看出紅光,而單模因為光束較集中的因素,難以用相機捕捉光源。

單模線。左︰單模光纖。 中︰多模光纖。 右︰無。
多模線。左 ︰單模光纖。 右︰多模光纖。

上述這些發光點,只有其中一邊會亮。亮邊為發送端,暗邊為接送端。亮的要接暗的,才會正常運作。有時候在經過光纖收容盒時會讓左右收發相反,這時看是否為亮對亮,如果是,就要把二芯光纖對掉, 左右對掉後的二芯變成亮對暗、暗對亮 ,光纖才能接通。

從外觀上看是最便捷的,但並不一定能代表強力的證據,有些仍會發光,再加上單模也沒有明顯的光可作參考,就算已確認兩芯皆是亮對暗之後,接上依然燈號不亮表示無法通。

這時需要更明確的數據,關於GBIC的數據,可以從Switch的CLI中下指令去查看Transceiver的狀態,就能進一步得知問題所在。

以Aruba 2930F為例,下「show interfaces transceiver detail」就能查看狀態。

故障的光纖模組
正常的光纖模組

最後重點整理︰

  • 光纖器材請在接上前確認類別,是否有使用規劃的器材。
  • 光纖模組可從發光與來判斷是否功能正常。
  • 多模光纖線若有看到紅光,代表光線有傳來。
  • 確保二芯是亮接暗、暗接亮,光纖布線施工可能讓左右相反,只需將光纖線左右拆開後對調,以達亮接暗、暗接亮的正確介接。
  • 確認線材正確接對之後,在Switch中下指令查詢,是最好的方式去找到光纖模組的故障原因

網路工程師的基礎教育(一) 連入設備

目標︰

用Console線去連入設備,並養成好的習慣。

事前準備︰

  1. 個人筆記型電腦。建議用Windows,因為本文都是以Windows為主。
  2. Console線。
  3. 練習用的已設定好的設備,並串接好。

要點︰

  1. 使用MobaXterm在每次連入都留下Log紀錄,並且使用SSH連入跟紀錄密碼,並且把所有設備都納入清單與整理。
  2. 知道要如何設定Console連入的Speed,試著查詢設備的Console Speed。
  3. 嘗試看RunningConfig去瞭解設備的設定。
  4. 用指令去得知設備的MAC Address、Serial Number以及現在運行的Firmware版本。
  5. 養成慣性下「Write Memory」或是「Save」等保存設定。

流程︰

  1. 先介紹要用到的線材與軟體。個人的終端機軟體以MobaXterm為主。
  2. 先用Console連入設備。如果沒有驅動程式,可以直接幫助處理。
  3. 介紹如何查詢COM,在裝置管理員中。再請打開藍牙,再把COM的號碼做更改到10。
  4. 新增一個Serial Session,選擇COM10,並且勾選保存LOG到當前資料夾。
  5. 詢問為什麼Speed是9600?會不會有別的Speed?大部分是9600,但也有不是的,請留意。
  6. 使用「Show Running」,並且簡單講其中Port、IP、Hostname等的設定,其餘可先跳過。
  7. 啟用SSH連線,並且要求下指令保存。
  8. 用有線介接設備,並且幫助其設定筆電的IP,使其筆電能SSH連上設備。
  9. 拔掉Console線。
  10. 要求以新增SSH Session的方式,去把所有設備納入。
  11. 把空白設備清單給他,要填上Hostname、設備型號、Serial Number、MAC Address、IP Address、Firmware Version。
  12. 修改Hostname,隨意打十個英文字母,並且要求下指令保存。
  13. 再修改Hostname,隨意打十個英文字母,並且要求下指令保存。
  14. 最後修改Hostname,隨意打十個英文字母,並且要求下指令保存。
  15. 關掉MobaXterm。要求他寫出最後三個Hostname,從同資料夾的LOG去找。

注意事項︰

  • 本次練習的指令都是直接講明,不要求其自尋找。
  • 二小時內要完成。

Win10如何調整Console的COM

在使用序列線(Serial),在裝置管理員會出現COM,找到對應的線後面括弧()的數字,就能只用終端機程式去連結設備。

但是,在啟用藍芽的時候,如果之前有在使用藍牙Console,也會產生對應的COM,這時COM後面的數字,可能會與有線COM衝突到,因此,在藍牙功能啟用與數字相衝突時,就無法正常使用有線的COM。但如果使用藍牙設備,如滑鼠,那關掉藍牙會很不方便。因此修改COM號是最好的方式。

要調整COM的數字,要從裝置管理員去做修改。

首先從左下角的Win按下滑鼠右鍵,點擊裝置管理員。

找到衝突的COM,在需要修改的COM按下滑鼠右鍵,選擇內容。

切到連接埠設定,按下進階。

在COM連接埠編號的下拉式選單做改成不衝突的COM號,然後按下確定,再按確定。

裝置管理員重新整理之後,可以看到調整過後的COM號。

Logitech文書滑鼠高階使用

最近買了一隻 Anywhere 2s,發現裡面自訂按鍵有手勢操作,這使得一鍵可以再搭配上下左右而延伸成五鍵使用。

研究了一下,為了要讓設定按鍵功能,先將日常文書動作拆成流程圖。

首先是結尾功能,這樣的功能後面不會馬上接動作。

  • 複製
  • 貼上
  • 剪下
  • 關閉視窗
  • 上一個桌面
  • 下一個桌面
  • 上一頁
  • 下一頁
  • 啟動應用程式(小畫家、計算機等)

結尾功能的配置適合對應按下時不會影響滑鼠移動的按鍵,像是側鍵。而滾輪左推右推就不適合用結尾功能。

接下來是連續功能,連續功能是後面可以接續動作,為一套動作的拆解。

  • 全選 > 剪下
  • 全選 > 複製
  • 全選 > 刪除
  • 段落選取(滑鼠左鍵連點三下) > 貼上 > 按Enter (搜尋)

多個步驟可以配置手勢的不同方向,透過順時針或逆時針依序執行,像是滾輪右推後,滑鼠往右(無),滑鼠往下(左鍵三下),滑鼠往左(貼上),滑鼠往上(按Enter),這樣在順時針轉一圈之後就完成把複製文字貼上並搜尋的動作組合。

若以 anywhere 2s 為例,滾輪的手勢操作適合連續功能,按鍵的手勢操作適合結尾功能,依照這種邏輯,再以文書處理使用習慣去安排,像我工作上常用小畫家、記事本,或是休閒搜尋時常使用貼上後搜尋,或是把文字複製到筆記本,針對這些常用操作,若能擺在單手操作滑鼠就能完成,效率就能大大提升。

旁邊的人要是看你操作,會一頭霧水,好像甚麼都沒動就使出一堆功能,然後得到吃驚的眼神。

20210707:針對不同應用程式做優化,可以參考作業系統的鍵盤快捷鍵,Windows中的鍵盤快速鍵。為了讓使用習慣一致,所以保留共同常用的功能,針對單一程式的功能做修改,建議從快捷鍵去找自己常用功能要怎麼按。

  • Chrome︰關閉分頁(Ctrl+W)、新增分頁。
  • Excel︰全部重新整理(Ctrl+Alt+F5)、重覆上一個動作(F4)
  • 所有︰檔案改名(F2)、 永久刪除(Shift + Delete)、切到第三個釘選(Win+3, 個人是Chrome)、內建截圖(Win + Shift + S)

以下分享我的配置:

[所有應用程式]

  • 滾輪左推:複製(單擊)、 剪下(上推)、 複製(左推)、 Ctrl+A(下推)、 Backspace(右推)
    ※下左(全選複製)、下上(全選剪下)、下右(全選刪除)
  • 滾輪右推:貼上(單擊)、 Enter(上推)、 貼上(左推)、 F2(下推)、 無(右推)
    ※下左上(將檔案名稱改成複製的文字)
  • 中間鍵:Win+Shift+S(單擊)、 關閉視窗(上推)、切到第三個釘選 (左推)、 Ctrl+S(下推)、 啟動功能表(右推)
  • 前側鍵:下一頁(單擊)、 記事本(上推)、 上一個桌面(左推)、 小畫家(下推)、 下一個桌面(右推)
  • 後側鍵:上一頁 (單擊)、 調高音量(上推)、 Shift+Delete(左推)、 降低音量(下推)、 靜音(右推)

[Excel]

  • 滾輪左推:複製(單擊)、 剪下(上推)、 複製(左推)、 Ctrl+A(下推)、 Backspace(右推)
    ※下左(全選複製)、下上(全選剪下)、下右(全選刪除)
  • 滾輪右推:貼上(單擊)、 Enter(上推)、 貼上(左推)、 滑鼠左鍵三下(下推)、 無(右推)
    ※下左上(選取文字後貼上複製的文字)
  • 中間鍵:F4(單擊)、 關閉視窗(上推)、切到第三個釘選 (左推)、 Ctrl+S(下推)、 啟動功能表(右推)
  • 前側鍵:下一頁(單擊)、 記事本(上推)、 上一個桌面(左推)、 小畫家(下推)、 下一個桌面(右推)
  • 後側鍵:上一頁 (單擊)、 調高音量(上推)、 Ctrl+Alt+F5(左推)、 降低音量(下推)、 靜音(右推)

[Chrome]

  • 滾輪左推:複製(單擊)、 剪下(上推)、 複製(左推)、 Ctrl+A(下推)、 Backspace(右推)
    ※下左(全選複製)、下上(全選剪下)、下右(全選刪除)
  • 滾輪右推:貼上(單擊)、 Enter(上推)、 貼上(左推)、 滑鼠左鍵三(下推)、 無(右推)
    ※下左上(將檔案名稱改成複製的文字)
  • 中間鍵:Win+Shift+S(單擊)、 關閉視窗(上推)、切到第三個釘選 (左推)、 Ctrl+S(下推)、 啟動功能表(右推)
  • 前側鍵:下一頁(單擊)、 記事本(上推)、 上一個桌面(左推)、 小畫家(下推)、 下一個桌面(右推)
  • 後側鍵:上一頁 (單擊)、 調高音量(上推)、 Ctrl+W(左推)、 降低音量(下推)、 靜音(右推)