Python Cookbook Remark

最近閱讀 Python Cookbook 錦囊妙計,發現有很多非常有用的方法能讓 python code 變得非常簡潔優雅,分享一下一些使用的情境與使用方法。

Continue reading

Custom packet creation using Ryu and Scapy

最近在 Ryu 的 mailing list 上看到這個問題,就順便分享一下如何在 Ryu Controller 下製造一個客製化封包傳給 OpenFlow Switch (device)

應用情境

假設你在 Controller 收到某個封包之後又或是在某個條件下,需要先產生一個封包並且使用 OpenFlow 的 Packet-Out message 傳給 Switch

這裏有兩種方法,分別是利用 Ryu 與 Scapy 皆可以產生客製化封包,以下提供你參考
Continue reading

An install script and guide for Ryu

近期收到蠻多信(目前比較忙有些沒辦法一一回覆),大多都是研究生或專題生要做實驗,但是被安裝問題搞得很頭大,這通常都是相依套件的問題,其實問題不難解決。希望大家不要花太多時間在這。 目前最新版的 Ryu 安裝上如果遇到問題,可以參考使用以下安裝腳本。 https://github.com/sdnds-tw/ryuInstallHelper 裡面有提供最完整的安裝教學指南。目前提供 Ubuntu 的
Continue reading

Saving captured packets in Ryu controller

pcap

最近花了點時間研究 PCAP 的檔案格式,試著把 PCAP 的 Parser 用 Python 寫出來,本來就只是單純練習而躍躍欲試後結果。

最終 lib 寫出來後就把這個 patch 送給 Ryu team 高興的是對方很快地就接受,並且跟我說這是個好東西。

Continue reading

Snort Rules Generator

前言

好久沒有寫文章了,最近研究的主題是網路安全,在這方面做了一個專案。雖然原本期望是在兩年研究所時間都是投入在 SDN 的應用程式開發,但是人生總是會有一些意想不到的意外。

Continue reading

Ryu with Snort Integration

snort_ryu.png

最近在 Ryu contribute 一些 patch 終於加進去官方的 Project 了!
特地寫這篇稍微介紹一下 Snort Integration,也順便分享一下在 Ryu 官方本身是不希望貢獻者使用 Pull Request 的情況下,到底要怎麼對 Ryu project 做出你的貢獻呢?

Continue reading

NTT 未來網路研究所 SDN 研討會

NTT_SDN

前言


這次有幸參加 NTT 研究所 SDN 研討會,這場研討會是第一屆辦在台灣,直接聽 Ryu 的主要開發者來介紹 Ryu 可以說是機會難得啊!總共有兩場一場在臺北的資策會,另一場則在新竹交大的浩然圖書館。議程的內容分為上午場的 Lagopus/Ryu 介紹 及下午場的 Lagopus/Ryu 研習操作。

另外這次也聽到關於 Lagopus 的介紹,這是一款專門為 OpenFlow 協定所造的 Virtual Switch 目前雖是 Alpha 版本,但對 OpenFlow 協定支援度是目前最高,更利用 Intel DPDK 技術做到快速處理封包的功能。

Continue reading

在 Mac OS X Mavericks 上安裝 Aten UC-232A USB to Serial 驅動程式

前言


今天在摸索 Centec v350 時候,想要在 Mac 上利用 screen 應用程式,連線 Serial Port 發現一件小問題。

原本在 Mac 上使用 RS-232 轉 Serial 的裝置應該是一件很輕鬆的的事情,找到本文的主角【Aten UC-232A】對應的驅動程式(官方下載點)利用 screen 程式指定控制終端設備/dev/tty.usbserialBaud rate 就能利用 COM port 輕鬆連入 Switch 但是,事情似乎不是你我想的那麼簡單…

1
$ screen /dev/tty.usbserial 128000
Continue reading

John Lin

I'm very enthusiastic about Open Source projects and passionate about Python and Node.js!

Software developer

Taipei, Taiwan