вторник, 7 августа 2018 г.

Simbicon Project - splitting it up to client and server

Hi,
I want to tell you about one of projects I've done long time ago. This is fork of Simbicon project. Simbicon project itself is a good example of biped simulation framework, and my fork is to try to make it a client-server type of simulation.

Originally the project is a standalone C++ application, that runs in super-loop, where
1. New state is calculated, applied forces are updated
2. Physical model is updated, new reaction forces are calculated, image is rendered

My idea was to split 1) and 2) into separate applications, that will run in parallel and communicate over network.

And this is what I got:
https://github.com/kantengri/simbicon

пятница, 20 июля 2018 г.

Ubuntu uefi and legacy boot

simple way to add legacy boot on UEFI enabled Ubuntu system:
just run sudo apt-get install grub-pc
For those, who failed to install fresh VMWare Workstation because old installation failed to uninstall.
In that case the message usually appears:

"the older version of vmware workstation cannot be removed"

Below is universal recipe to handle the errors like that:

1. Try to install new version. If it fails look for the error in installation log file:

see Location of VMware View log files (1027744)

2. Examine found error, if it says cannot find msi for product, find and remove all related entries for this in registry.

3. goto 1

That's all ! It works !

пятница, 12 мая 2017 г.

Waking up remote computer over NAT with TCP SYN WOL magic packet

       Waking up remote computer  appears to be a simple task that may be done sending usual WOL Magic packet inside UDP packet over LAN. Things become more complicated if the remote computer is behind NAT. Obvious approach in that case would be to add another NAT rule to pass WOL UDP packet. But sometimes it is not possible if for example you do not have enough permissions or access to configure NAT. However it still becomes possible if there is already a NAT rule to pass for example RDP connection. It is possible to craft custom TCP SYN packet with Magic packet inside that can pass through NAT as a TCP connection initiation. So if you have working RDP connection (or any allowed other TCP connection) you may wake up remote computer !

      Let see  the example below :
 
Network Topology
We have a Remote PC behind NAT that is accessed via OpenVPN from Local PC.
WOL tool is a software that generates WOL TCP packet.

The structure of the packet is as below:


For working project look at https://github.com/kantengri/wol_tcp

To run the tool:
raw_socket -i 192.168.10.6 -s 50140 -v 192.168.10.1 -m 00:ff:c4:76:49:72 -w bc:ee:7b:9a:6e:b8 -p 510

Don't forget to install WinPcap beacuse Windows doesn't allow crafting RAW TCP packets normally.

UPDATE: doesn't work unfortunately, server returns ICMP 3 Host Unreachable.