Виртуальный сетевой интерфейс в Python - PullRequest
0 голосов
/ 09 июня 2011

Справочная информация:

Мне нужно настроить некоторые чековые принтеры Epson. Принтеры настраиваются путем указания вашего веб-браузера на http://192.168.192.168/ и отправки формы. Я написал скрипт Python, который может имитировать форму POST, и теперь принтеры можно настраивать без использования веб-интерфейса. Единственным недостатком является то, что мой компьютер должен быть в сети 192.168.192.0/24.

Вопрос:

Можно ли создать виртуальный сетевой интерфейс в Python, который мой сценарий сможет использовать, не меняя вручную настройки сети компьютера?

1 Ответ

2 голосов
/ 09 июня 2011

У вас есть проблема, которую python не может решить.

Похоже, что ваша сеть была административно разделена по некоторым причинам. Если к обоим административным доменам подключен брандмауэр или хост-машина, возможно, вы сможете использовать преобразование адреса порта , чтобы сохранить этот сервер в одной сети и опросить другую.

Если 192.168.192.0 не был преднамеренно сегментирован по административным / соображениям безопасности; это может быть простой контроль со стороны вашего администратора локальной сети. В этом случае они могут добавить 192.168.192.0 в таблицу корпоративной маршрутизации.

Последним вариантом будет какое-то VPN-соединение между административными доменами ... опять же, обсудите это с администраторами вашей сети.

EDIT

Поскольку вам нужен псевдоним Ethernet Linux, самый простой способ - использовать iproute2 в Linux ... используйте ip addr add 192.168.192.1/24 dev eth0 в качестве пользователя root

[mpenning@Finger ~]$ sudo ip addr add 192.168.192.1/24 dev eth0
[mpenning@Finger ~]$ ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 78:2b:cb:0a:8c:f9 brd ff:ff:ff:ff:ff:ff
    inet 192.168.12.238/24 brd 192.168.12.255 scope global eth0
    inet 192.168.192.1/24 scope global eth0
    inet6 fe80::7a2b:cbff:fe0a:8cf9/64 scope link 
       valid_lft forever preferred_lft forever
[mpenning@Finger ~]$ ip route show
192.168.192.0/24 dev eth0  proto kernel  scope link  src 192.168.192.1 
192.168.12.0/24 dev eth0  proto kernel  scope link  src 192.168.12.238 
default via 192.168.12.236 dev eth0 
[mpenning@Finger ~]$

Теперь подключите ваш принтер к коммутатору Ethernet ... вы сможете пропинговать 192.168.192.168 ..., чтобы удалить: ip addr del 192.168.192.1/24 dev eth0 (как root)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...