2016-11-02 12 views
2
import subprocess 

nrange = "192.168.229." 

for i in range(0, 254): 
     address = nrange + str(i) 
     res = subprocess.call(['ping', '-c', '3', address]) 
     if res == 0: 
      print "ping to", address, "OK" 
     elif res == 2: 
      print "no response from", address 
     else: 
      print "ping to", address, "failed!" 
[email protected]:~/Desktop# ./pypsweep.py 
^C./pysweep.py: line 3: nrange: command not found 
./pysweep.py: line 5: syntax error unexpected toke `(' 
./pysweep.py: line 5: `for i in range (0, 254):' 
[email protected]:~/Desktop# 

Я имею вопрос выше код. Я пытаюсь написать сценарий ping sweep через Python для запуска в bash. Я попробовал несколько примеров, опубликованных другими людьми вокруг interwebs, но, похоже, не работает для меня. Этот код является тем, который я написал на основе простейшего примера, который я мог найти. Я не уверен, что я просто просто игнорирую очевидную ошибку или проблему. Любая помощь в этом вопросе была бы весьма признательна.Проблема с Python пинг развертки сценария

Это выполняется на VMware Workstation Pro на дистрибутиве Kali Linux, если это вообще имеет значение.

+1

Никогда не публикуйте фотографии кода. Опубликовать фактический код ... –

+0

Я предполагаю, что вы имеете в виду 'from subprocess import *' вместо 'import subprocess *'. Вероятно, это вызывает вашу синтаксическую ошибку, потому что Python пытается (безуспешно) умножать 'subprocess' и' nrange'. – Aurora0001

+1

Кроме того, ваш внутренний отступ внутреннего контура все испорчен. Это вызовет 'IndentationError' после того, как вы исправите то, что предложил @ Aurora0001. –

ответ

2

В вашем коде отсутствует строка shebang. Как следствие, когда эта команда:

[email protected]:~/Desktop# ./pypsweep.py 

оболочка пытается интерпретировать ./pypsweep.py как тип по умолчанию: сценарий оболочки. Вот почему вы видите ошибки, которые видите.

Существует два решения.

  1. Вызов питон явно:

    корень @ поташ: ~/Desktop # питон ./pypsweep.py

  2. Добавьте эту строку в начале вашего скрипта:

    #!/usr/bin/python 
    

    Если вы не используете python в/usr/bin, отрегулируйте путь соответствующим образом.

+0

Добавление #!/Usr/bin/python к началу файла исправил эту проблему. Большое спасибо! –