The output looks perfectly normal.
Many (most?) ping implementations don't do reverse DNS lookup. If you pass an IP address, it displays an IP address.
After all, why would it bother with DNS? Pinging only requires the IP address. If you pass a host name, ping does a DNS lookup to get the address. If you pass an IP address, ping just uses the IP address.
If you want to perform a reverse DNS lookup, use a tool whose job it is to work with DNS, such as
host 192.168.56.42 or
nslookup 192.168.56.42. Note that in order for a machine to know another machine's name, it isn't enough to set the name in that machine's
/etc/hosts: that won't let other machines know. The normal way to declare the name of a machine on Unix systems (like most of the world outside pre-Internet protocols) is to register it with DNS. Some VM software will automatically provide DNS services to virtual machines and serve names declared in
HOSTS.TXT on Windows) on the host. If yours doesn't, set up a DNS server (see this answer for a possible way).
There may be a way for Linux to support Windows's network discovery protocols (NetBIOS?) but I'm not familiar with that so I can't tell you how. If it can be made to work, you'll probably have to set up Samba on the Linux machine and configure it to advertise itself on the network (Windows tends to default wide open but Linux defaults discreet so you'll need to actively turn on name broadcasting).