🐞透過 Amazon Lambda 實踐 Web Crawler
前言這篇文章是在重現客戶問題時候的的實踐,原先為了解決客戶的問題,我試著想要安裝 Selenium Chromedriver 以及 BeautifulSoup ,打包成 Lambda Layer 並建立基於該Layer的Lambda,但一直出現 Chromedriver 找不到檔案的錯誤,左踩坑又踩坑的troubleshooting 突然這篇救星 https://stackoverflow.com/questions/69047401/selenium-docker-container-runs-on-ec2-but-not-on-aws-lambda ,根據這篇文章以及相對應的 github https://github.com/rchauhan9/image-scraper-lambda-container/tree/master,上面主要是以 Container Image 的方式來建立 Lambda ,但要這麼做之前會先將需要的套件跟環境打包成 Image。 但由於公司的 Mac 不能安裝 Docker,因此我先開個 EC2 來進行大部分操作 本篇文章的範例以及建構所需知...
我的第一篇文章
從 Hugo 移植到 Hexo之前在 Hugo 雖然就挺方便的,但這個 Butterfly 主題真的太贊了,就先移植過來玩看看
🗃️Deep Dive: malloc 函式如何進行記憶體分配
Deep Dive: malloc 函式如何進行記憶體分配?前言動態記憶體配置是一個重要的概念。它讓程式可以在執行期間根據需要動態地分配和釋放記憶體,而不必依賴於事先靜態分配的記憶體區塊。這樣的彈性使程式能夠更有效地利用記憶體資源,並處理各種大小和複雜性的問題。 C語言中的malloc函式是一個廣泛使用的動態記憶體分配函式。它允許程式設計師在執行期間動態地分配指定大小的記憶體區塊。malloc的一個重要特性是它能夠確保分配的記憶體區塊在使用期間是有效和可存取的,同時適當地釋放它們以避免記憶體洩漏。 然而,你或許好奇malloc函式在底層是如何實現記憶體分配的,要如何準確動態分配空出的記憶體給caller?。這就是我們將在本文中深入探討的主題。我們將著重於malloc函式的底層實現,特別是當我們呼叫malloc時,系統如何決定和分配一塊合適的記憶體位址給我們使用。 在探討這個問題之前,讓我們先回顧一下動態記憶體配置的基本概念。在C語言中,我們可以使用malloc函式來動態地分配記憶體。它的函式原型如下: 1void* malloc(size_t size); malloc函式接受一...
🧪透過 Winsock 依序堆疊出一個HTTP Server
主要想實做看看在Windows環境下透過Winsocks來建立網路層的Socket並且去進行應用層的協定解析,使用程式語言為C語言,平台則是使用VSCode,本次的學習方式是透過最近很火紅的 ChatGPT 來進行學習,並再自行Debug和研究語法。 範例程式碼123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103#include <stdio.h>#include <string.h>#include <winsock2.h>#define PORT 80 // HTTP預設使用端口80#define BACKLOG 10 // 等待連接佇列的最大長度#define BUFFER_SIZE 4096...
💻 Windows 常見指令
蒐集本機資訊 網路設定資訊1ipconfig/all 作業系統以及版本資訊 中文版 1systeminfo | findstr /B /C:"作業系統名稱" /C:"作業系統版本" 英文版 1systeminfo | findstr /B /C:"OS Name" /C:"OS Version" 系統結構1echo %PROCESSOR_ARCHITECTURE% 查看安裝的軟體版本1wmic product get name,version 1powershell "Get-WmiObject -class Win32_Product |Select-Object -Property name,version" 查詢本機服務1wmic service list brief 查詢處理程序列表1tasklist 1wmic process list brief 查看啟動程式1wmic startup get command,caption 查看任務計畫1schtasks /q...
📑Github Action 學習筆記
我以前其實沒有CI/CD的經驗,所以現有常見的CI/CD平台其實都沒有太過了解,但近期因專案需求,需要透過Github Action 來建立一個用於Azure認知服務中的斷句API (BreakSentence API) 的CI/CD Pipeline,在被交付的需求還很模糊的狀況下😭,還是先來了解這項功能,並且做個紀錄。 基本介紹是一個CI/CD平台,能夠自動化建置(Build)、測試(Test)以及部署(Deployment),使用者可以建立工作流程(Workflow)來建置以及測試每個對Repository的pull請求或者是將合併的pull請求部署到生產環境。 Components構成Github Actions中的元件名詞如下 Workflow Event Jobs Runner Steps Action 先講這些元件的合作起來的行為會是怎麼樣: 當Repository中發生某個 事件(Event),此時你所設定的 Github Actions Workflows 被觸發。這裡的事件,舉例來說可以是一個pull reque...
🔋 AWS Certified Cloud Practitioner 證照準備筆記
CCP 準備 考試指南: https://d1.awsstatic.com/zh_TW/training-and-certification/docs-cloud-practitioner/AWS-Certified-Cloud-Practitioner_Exam-Guide.pdf 考試題型占比 相關資源 https://terahake.in/post/aws-ccp-certified-exp/ https://awslc.medium.com/aws-cloud-practitioner%E8%AD%89%E7%85%A7%E6%BA%96%E5%82%99-6b8bacc6a490 https://jayendrapatil.com/aws-certified-cloud-practitioner-exam-learning-path/?fbclid=IwAR3eiyroyZ_jTn2pA5ut_ophP8JNCzgspERnug_luC_HGltA-OkLwRwrhAU https://d1.awsstatic.com/whitepapers/AWS_Clou...
實習筆記-滲透測試課程
課程內容: 12345678- Web基本知識- 主動/被動資訊收集- 常見的web漏洞- 靶機- DVWA(Damn Vulnerable Web Application)- RF(無線射頻)滲透測試(物聯網)- 基本的通訊協定- 軟體定義無線電SDR PT(滲透測試) vs RT(紅隊演練) PT:範圍較小,且無法針對社交工程 ex.某個網頁 RT:範圍較大 ex.整個公司 黑箱:最貼近真實情境白箱:盡可能提供相關資訊給受測者灰箱:黑白箱混和,會提供自我宣告表以後再給受測者測試 滲透測試流程: 資料蒐集 透洞掃描 漏洞利用 白帽: 漏洞回報 黑帽: 提權限 持續性存取 防禦逃脫(逃脫會叫的那種警報器) 資料攜出(把DB分批攜出) IOT的攻擊向量(Attack Vector) Hardware:Physical Interface 給開發人員使用,出廠後並未關掉,若能訪問到該接口通常都能直接取得root,通常底層皆為明文傳輸 設備外殼並未提供保護機制 底層使用明文傳輸 毛刺攻擊(Glitching):用微小的電壓,去擾動硬體設備 測信到攻擊(Side Chan...
📑 DMS_Troubleshooting 筆記
Network Debug 若你SSH不到Server,你會怎麼做? 先Ping Server看通不通 若還是錯誤則是根據SSH連線出現的錯誤訊息來做故障排除 Unable to open connection to example.com Host does not exist 檢查是否可透過 ping 來去解析目標server域名 若使用hostname則改用ip試試看(交替試試看) Connection timed out: client試圖與SSH Server建立network socket,但server在時間內沒能回應 檢查是否正在使用Port 22,或自定義的port口來進行連接 $ netstat -all 檢查firewall規則是否有阻擋來自特定ip或port 22的進入流量 $ iptables --list 看是不是有設定Drop method 或是port 22 沒有被加進allow connection內 Connection Refused: 請求正在路由到host,但host沒能接收到請求 檢查是否正在使用Port 22,或自定義...
Security policies definition and enforcement utilizing policy control function framework in 5G
:root{ --maincolor: #50fa7b; } .info{ padding: 15px; margin-bottom: 20px; color: #ffffff; border: 1px solid transparent; border-radius: 10px; background-color: #343232; border-color: #b8bdb4; } .special{ border-bottom: 3px solid var(--maincolor); color: inherit; text-decoration:none; } .newbold{ color: #ffffff; font-weight: bold; text-decoration:none; } a{ color: #337ab7; text...





