作者chang0206 (Eric Chang)
看板Linux
標題[問題] 用wget抓回來的文字檔和手動編輯會有不同
時間Thu Nov 21 13:45:48 2013
之前因為手邊的幾台工作站一直被攻擊
在網路上找了個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裡面又沒有這種參數可以下
請問我應該還要檢查什麼地方??
--
會當凌絕頂,一覽眾山小。 —— 杜甫
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 60.251.177.1
推 lspci:try command "dos2unix" 11/21 13:49
→ chang0206:感謝!問題解決! 11/21 14:01
→ chang0206:不過,這是啥原理啊= = 11/21 14:01
→ Neisseria:Windows 和 Linux 的文字檔在行尾使用的符號不同 11/21 14:06
推 yvb:notepad++ 編輯(Edit) 選單有個 檔案格式轉換(EOL Conversion) 11/21 17:27
→ yvb:選 UNIX 那項. 11/21 17:27
→ chang0206:感謝yvb ,以前都沒注意到這種問題 11/21 17:28
推 cem236321:CRLF... 11/21 20:12
→ danielsig727:notepad++ 可以選擇換行字元,記得切到 Unix 11/22 00:52
→ danielsig727:喔喔被 y 大搶先了XDD 11/22 00:53
推 rickieyang:七個多小時不叫搶先,是遙遙領先吧... 11/22 18:20
推 rickieyang:你看那些玩五樓的,有多少差一秒結果自表變成別人的簽 11/22 18:22
→ rickieyang:名檔... 11/22 18:22