[python] работа с scapy и вообще с питоном

KillDead

Хранитель порядка
Регистрация
11 Авг 2006
Сообщения
894
Реакции
579
Здравствуйте. Нужно создать программу с отображением пакетов при разных соединениях. Идеально подошёл модуль scapy , но к сожалению опыта с питоном совершенно нет, сразу извиняюсь за нубские вопросы.

установил модуль

и наверное установил 5 других либ. в питоне они появились, но при вызове help('pywin32') говорит
no Python documentation found for 'pywin32'

Пытаюсь в своей ide написать
Код:
import scapy
s =IP()

импортирует но, на второй строчке стопорится
Код:
D:\python\p25\python.exe D:/python/pq/untitled/socket
Traceback (most recent call last):
  File "D:/python/pq/untitled/socket", line 10, in <module>
    s =IP()
NameError: name 'IP' is not defined
 
Process finished with exit code 1
Скорее всего чтото не то делаю.

Система windows7. Вопросы следующие-
1- в чём может быть дело и что нужно сделать?)
2- если я скомпилирую питон в ехе с этой scapy либой, на другом компе он будет работать без проблем?
3- есть аналоги в делфи\java ?

всем спасибо
 
нема, вот попробовал переустановить питон и модули dnet/pcap/pyreadline/pywin

Код:
help('scapy')
import scapy
 
s = scapy.IP()
и получил
Код:
NAME
    scapy - Scapy: create, send, sniff, dissect and manipulate network packets.
 
FILE
    d:\python\p25\lib\site-packages\scapy-2.2.0-py2.5.egg\scapy\__init__.py
 
DESCRIPTION
    Usable either from an interactive console or as a Python library.
    http://www.secdev.org/projects/scapy
 
PACKAGE CONTENTS
    all
    ansmachine
    arch (package)
    as_resolvers
    asn1 (package)
    asn1fields
    asn1packet
    automaton
    autorun
    base_classes
    config
    crypto (package)
    dadict
    data
    error
    fields
    layers (package)
    main
    modules (package)
    packet
    plist
    pton_ntop
    route
    route6
    sendrecv
    supersocket
    themes
    tools (package)
    utils
    utils6
    volatile
 
 
Traceback (most recent call last):
  File "D:/python/pq/untitled/socket", line 33, in <module>
    s = scapy.IP()
AttributeError: 'module' object has no attribute 'IP'
:ah:
 
Попробуй:
import scapy
help(scapy)
print(dir(scapy))

А вообще - похоже нету метода IP, либо он метод метода.
 
dir ввел список
['__builtins__', '__doc__', '__file__', '__name__', '__path__']
хотя сейчас запустил тест библиотеки - он запустился, начал писать в консоль какие функции открыты какие нет. Но теперь надо понят как вообще работать с библиотекой ведь я пробовал функции из мана.
Для просмотра ссылки Войди или Зарегистрируйся
python %MYDIR%\scapy\tools\UTscapy.py -t regression.uts -f html -o scapy_regression_test_%DATE%.html

как узнать что ему нужно чтобы начать работу? :eek:
++
поднял глаза в мане и увидел что надо импротировать по другому))
from scapy.all import *
myip = IP()
print (myip.show())
но всё равно ничего не выводит. вместо информации о пакете получаю сообщение что печатать нечего

Код:
WARNING: No route found for IPv6 destination :: (no default route?)
Traceback (most recent call last):
  File "D:/python/pq/untitled/socket", line 37, in <module>
    print (a.show())
  File "d:\python\p25\lib\site-packages\scapy-2.2.0-py2.5.egg\scapy\packet.py", line 799, in show
    ct.punct("]###"))
  File "D:\python\p25\Lib\site-packages\pyreadline\console\console.py", line 379, in write
    return self.write_color(text)
  File "D:\python\p25\Lib\site-packages\pyreadline\console\console.py", line 355, in write_color
    text = ensure_unicode(text)
  File "D:\python\p25\Lib\site-packages\pyreadline\unicode_helper.py", line 20, in ensure_unicode
    return text.decode(pyreadline_codepage, "replace")
TypeError: decode() argument 1 must be string, not None
 
но всё равно ничего не выводит. вместо информации о пакете получаю сообщение что печатать нечего
>argument 1 must be string, not None
Вотъ. Теперь у тебя модуль импортировался и заработал) Правда пишет, что неправильный аргумент метода (возможно из-за этого WARNING: No route found for IPv6 destination :: (no default route?))
 
)) ага, но странно. Эту ошибку вызывает print, после подключения либы
print 'hello'
from scapy.all import *
print 'hello'


Код:
hello
WARNING: No route found for IPv6 destination :: (no default route?)
Traceback (most recent call last):
  File "D:/python/pq/untitled/socket", line 32, in <module>
    print 'hello'
  File "D:\python\p25\Lib\site-packages\pyreadline\console\console.py", line 379, in write
    return self.write_color(text)
  File "D:\python\p25\Lib\site-packages\pyreadline\console\console.py", line 355, in write_color
    text = ensure_unicode(text)
  File "D:\python\p25\Lib\site-packages\pyreadline\unicode_helper.py", line 20, in ensure_unicode
    return text.decode(pyreadline_codepage, "replace")
TypeError: decode() argument 1 must be string, not None
 
Process finished with exit code 1
 
Назад
Сверху