我已經在python 2.6.5中編譯了一個腳本,該腳本只是簡單地將我最常用的nmap函數自動化並將輸出記錄到桌面上的txt文件中。 我還沒有寫這一切,因爲我仍然只學習python。我找到了更新回溯的更新腳本,並將其用作縮進和命令的模板,並對其進行了修改並添加了一些我自己的內容,以便爲我提供所需的內容。從raw_input中提取ip地址
我遇到的問題是與此塊
def nmap_target():
try: ip = raw_input(" [>] Enter ip to scan: ")
except KeyboardInterrupt:
print "\n [>] Exiting!\n"
sleep(1)
sys.exit()
print " [>] Attempting targeted scan.\n"
#print ip
if subprocess.Popen("nmap ip >> //root/Desktop/Target.txt && tail /root/Desktop/Target.txt",shell=True).wait() == 0:
print "\n"
print " [>] Targeted scan completed successfully!\n"
menu_main()
else:
print "\n"
print " [>] Nmap scan failed.\n"
其背後的想法是,它要求用戶輸入一個IP地址的raw_input成()和IP調用它,我想然後將它傳遞給nmap使用subprocess.Popen(「nmap ip可以看到上面 問題是它只是寫nmap ip而不是打印ip地址然後返回錯誤,它甚至試圖掃描我的網絡,每當我測試它時,我確定從我的路由器上拔掉了網線,這會導致我的網絡測試出現問題,所以如果您嘗試運行代碼,您可能需要在menu_main()中散列internet_check()選項部分,如果你有你的互聯網從路由器拔出
我已經花了4天的時間,現在它驅使我生氣,起初我以爲我需要將數字轉換爲浮點數,所以我嘗試過,仍然是相同的,我試過了各種各樣的事情,並花了數小時在互聯網上尋找一個無濟於事的答案。
我現在相信它不是我命令我試圖這是責怪我認爲這是退出聲明,我已經嘗試把「打印IP」後,它說「打印」行[>]嘗試有針對性的掃描。\ n「,並確信輸入的IP地址顯示在屏幕上,這證明raw_input()正在工作。只要我將它移動到任何地方,它就會失敗,這表明它必須是退出語句或縮進問題,但我不確定 我也嘗試過對鍵盤中斷以及兩行代碼段進行哈希處理,我試着移動try:if if語句和甚至嘗試其他命令,但它只是不會工作aaaarrrrrgggghhhhhh
我會正確地認爲ip被輸入到raw_input()中,然後在我將它傳遞給subprocess.Popen(「nmap ip。
就像我剛纔提到的,我沒有從頭開始編寫這個腳本,這是我的第一個這樣的項目,所以我有很多東西要學,我已經全部通過python手冊頁,並通過各種各樣的教程,但只是無法弄清楚這一點。 任何幫助將非常感激
我將發佈完整的劇本,如果有人有興趣,只是只要我能弄清楚如何發佈代碼正確
謝謝你,你的傳說「的nmap '+ STR(IP)+' 就像一個魅力的工作。謝謝你們倆的幫助,無法在沒有你的情況下完成它 – Dave
沒有問題@Vaughn!樂意效勞。 – 0xhughes