用wget抓回來的文字檔和手動編輯會有不同 - Linux

Table of Contents

之前因為手邊的幾台工作站一直被攻擊
在網路上找了個SCRIPT來修改
會先讀取一個檔案,檔案內容都是IP/MASK的格式,然後加入FIREWALL去阻擋

一直以來都沒有問題,但是因為每天都要新增修改好幾台的內容
想說都改成來某一台工作站抓回去,那我就只要維護一份就好了

可是改完SCRIPT之後,發現要加入iptables時,會發生錯誤
經過多次除錯,確認問題出在wget 這邊
只要是wget回來的檔案,就會出錯。
但是同樣的內容,我如果在本機編輯好,然後用vi開新檔再貼上
一樣的程式就可以很順利的跑,整個超詭異的。

操作過程的影片
http://www.flickr.com/photos/chang0206/10973356056/

簡單說,我在本機用notepad++編輯了一個檔案 bot
存到\\192.168.10.243\wwwroot\底下
然後在一台工作站上 用wget把 bot給抓回來
然後執行script 會去讀取bot的內容加入iptables的CHAIN
影片中可以看到iptables會報錯

但是如果我把抓回來的bot砍掉,然後用joe新增一個檔案
再從本機複製,貼上到JOE,然後存檔
雖然是一樣的內容,但是這次就可以順利執行不會報錯

我本來懷疑是不是wget跟ftp一樣,要指定binary or ascii
可是看wget的help裡面又沒有這種參數可以下
請問我應該還要檢查什麼地方??

--
會當凌絕頂,一覽眾山小。 —— 杜甫

--

All Comments

Skylar DavisLinda avatarSkylar DavisLinda2013-11-24
try command "dos2unix"
Joseph avatarJoseph2013-11-26
感謝!問題解決!
不過,這是啥原理啊= =
Ursula avatarUrsula2013-12-01
Windows 和 Linux 的文字檔在行尾使用的符號不同
Necoo avatarNecoo2013-12-02
http://tinyurl.com/oazt3d3 鳥哥的網站有說到這一段。
Ida avatarIda2013-12-06
notepad++ 編輯(Edit) 選單有個 檔案格式轉換(EOL Conversion)
選 UNIX 那項.
Sarah avatarSarah2013-12-09
感謝yvb ,以前都沒注意到這種問題
Enid avatarEnid2013-12-12
CRLF...
Elvira avatarElvira2013-12-15
notepad++ 可以選擇換行字元,記得切到 Unix
Ethan avatarEthan2013-12-17
喔喔被 y 大搶先了XDD
Lucy avatarLucy2013-12-18
七個多小時不叫搶先,是遙遙領先吧...
Mia avatarMia2013-12-20
你看那些玩五樓的,有多少差一秒結果自表變成別人的簽
名檔...