網通與資安發展促進結社

網通與資安發展促進結社 之

Pogo Tsai 的 "新" 異空間

Pogo Tsai 的 "新" 異空間

FB

現在, 也可以在 Facebook follow 了, 歡迎加入 It苦命xx團
或著, 按我回首頁 來看更多訊息

2016年5月18日

VM Migration 時 發生 file locks 解決方式

全自動的 DRS 有時在搬動 VM 時會發生  file locks 的錯誤, 處理起來有點麻煩

通常上要把所有 VM host & vCenter 全重開機才會正常

另可以試查看訊息是被那台主機 lock 後, SSH 進這台主機

step 1. 以

esxcli vm process list

查運行中的 VM ID, 通常被 lock 的這台 VM 會在其中

step 2.再以

esxcli vm process kill --type=soft --world-id=剛查到的 ID

必要時, 再把這台VM remove from Inventory 再加回 就會正常了

感覺在高 loading VM host  Migration 發生率比較高, 有點怪

參考原廠 KB 


2016年3月14日

Timer 語法的筆記

在 多工處理的狀況下, 如果用 time.sleep () 有時會因某個程序處理不過來, 而造成 時間的延遲或錯亂, 這時用 Timer 這個語法就很方便了, 但 Timer 的語法格式有點詭異, 筆記一下

我是參考這個解決的
http://stackoverflow.com/questions/16578652/threading-timer

簡單來說, 以這範例是沒問題的

import threading

def hello():
    print "hello, world"

t = threading.Timer(10.0, hello)
t.start() 
print "Hi"
i=10
i=i+20
print i

也可以改成  import Timer form threading

那語法就會簡化成
Timer (時間變數, 要跑的子程序).start

問題來了, 子程序還有帶變數會發生什麼事

import threading

def hello(s):
    print s

h="hello world"
t = threading.Timer(10.0, hello(h))
t.start() 
print "Hi"
i=10
i=i+20
print i
直覺來說, 應要寫成

Timer (時間變數, 要跑的子程序(變數)).start



Timer (時間變數, 要跑的子程序,(變數)).start

事實上, 以上 2 個語法都會造執行結果的錯誤

以範本來說, 正確語法為
t = threading.Timer(10.0, hello, [h])
以我的語法為
Timer (時間變數, 要跑的子程序,[變數]).start

原因有空再研究, 先筆記








2016年1月7日

Scapy 在 Windows Python 2.7 的安裝

大部分 Scapy 文件都基於 Python 2.6, 一些元件for Python 2.7  在 Windows 要自行compiler 很麻煩..

網路有人打包好 32 & 64 bit 的版本

https://github.com/Kondziowy/scapy_win64

需要的可以自行下載

Scapy 還在研究中, 暫不開放相關問題的詢問

另就是.. liunx 環境簡單多了.. sudo pip install scapy 就收工..
只想玩玩不是特意要在 windows 環境開發的話, 就還是在 linux 下試就好了



2016年1月5日

pyshark 在中文語系問題的解決法

pyshark 是個很方便的模組, 讓 python 能輕易的整合 wireshark 的 tshark 的功能.. 但在 中文 widnows 運作時, 會有神奇的 lxml 錯誤

XMLSyntaxError: Input is not proper UTF-8, indicate encoding !

害我找半天一直以為是 windows python 環境有問題還是怎樣, 在 linux 就見不到這問題
重裝全新 windows & python 都出現相同錯誤的狀況下, 我開始懷疑犯人應是 windows

果然, 在試了一些設定後

真的是 windows 的顯示語言格式問題,  把控制台-> 地區->格式 改為英文 就解決了..



浪費了我一天找問題...

Windows Python 的 lxml 的安裝

在 windows python 的環境下, 有時要用到 lxml 的模組.. 有個很詭異的狀況是 如果你習慣用 pip 在做模組的管理與安裝時, 會發現不管怎樣, pip install lxml 都會出現錯誤, 解決方式是..

換成 easy_install 就好了.. (╯‵□′)╯︵┴─┴

原因不明, 但懶得再去深入研究了, 筆記一下

還是有問題的, 由此下載安裝 https://pypi.python.org/pypi/lxml