играть с tcp / ip - PullRequest
       44

играть с tcp / ip

2 голосов
/ 01 мая 2011


Я бы хотел научиться играть с библиотеками tcp / ip для python, java или c ++.Но у меня только один компьютер.Можно ли «подделать» удаленные компьютеры, чтобы эмулировать удаленные хосты, под конец NAT все?

Ответы [ 5 ]

5 голосов
/ 01 мая 2011

Самый простой способ - запустить сервер и клиент на одном компьютере и использовать IP-адрес «loopback»: 127.0.0.1, который всегда подключается к локальному хосту. Я делал это много раз во время тестирования. Например, запустите локальный веб-сервер через порт NNN, а затем в браузере введите http://127.0.0.1:NNN/ Фактически, 127.X.Y.Z должен всегда общаться с локальным компьютером.

2 голосов
/ 01 мая 2011

Если вы используете Linux, вы можете настроить dummy интерфейсы, а затем привязать ваш клиент / сервер к различным фиктивным интерфейсам.

[mpenning@Bucksnort ~]$ sudo modprobe dummy
[mpenning@Bucksnort ~]$ sudo ip addr add 192.168.12.12/24 dev dummy0
[mpenning@Bucksnort ~]$ ip addr show dummy0
6: dummy0: <BROADCAST,NOARP> mtu 1500 qdisc noop state DOWN
    link/ether b6:6c:65:01:fc:ff brd ff:ff:ff:ff:ff:ff
    inet 192.168.12.12/24 scope global dummy0
[mpenning@Bucksnort ~]$ ping 192.168.12.12
PING 192.168.12.12 (192.168.12.12) 56(84) bytes of data.
64 bytes from 192.168.12.12: icmp_seq=1 ttl=64 time=0.085 ms
^C
--- 192.168.12.12 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.085/0.085/0.085/0.000 ms
[mpenning@Bucksnort ~]$ sudo modprobe dummy -o dummy1
[mpenning@Bucksnort ~]$ sudo rmmod dummy
[mpenning@Bucksnort ~]$ ip addr show dummy0
Device "dummy0" does not exist.
[mpenning@Bucksnort ~]$

Вы должны иметь возможность запускать ipchains на этих интерфейсах, как и любой другойдругой.

1 голос
/ 08 августа 2011

Запустите сервер для прослушивания на вашем сетевом адаптере или локальном хосте. Затем отправляйте запросы на тот же IP-адрес и порт. Логично, что все это будет происходить внутри сетевого драйвера (драйверов), но все равно будет работать так же, если этот IP-адрес был адресован другому компьютеру (за исключением настроек брандмауэра и т. Д.)

1 голос
/ 01 мая 2011

Используйте виртуальный ящик для установки ОС в вашей системе. для любого сетевого приложения это лучше. Вам не нужно работать в двух разных системах, и легко увидеть, что происходит на обоих концах

1 голос
/ 01 мая 2011

Вы можете начать с разговора между программами на своем собственном компьютере.

Вы можете использовать программное обеспечение виртуальной машины, такое как VirtualBox, VMWare, VirtualPC и т. Д., Чтобы создать то, что по сути является второй машиной в вашем, и поговорить с вами.что (хотя топология сети может быть немного необычной - что-то еще, чтобы узнать о ней)

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

...