Python3 socket: socket.gethostbyname_ex at Ubuntu 16.06 - sockets

I'm using the socket module to get the IP address of a device automatically. I tried my code under Ubuntu 16.06 and it doesn't work anymore. I guess that this is connected to some changes. While "ifconfig" doesn't work anymore, I use "ip addr show" to get the IP address.
Until now I used the following lines:
# tuple of ips from all network interfaces
ips = socket.gethostbyname_ex(socket.gethostname())
Does someone has experience with it? I really would like to keep on using "socket" instead a workaround.
But I was thinking about to call "ip addr show" and to parse the output from the command line.
Any ideas?
Alex

Related

Nmap not showing MAC address & does not seem to be doing ARP ping scans

I am following a course online, in the course an Nmap scan is undertaken with the following results:
. As you can see, the second from bottom line is MAC Address: DE:AD:00:00:BE:EF and the SENT and RCVD lines show an ARP request and an ARP reply.
However, when I do this I do not see the MAC Address, nor do I see the ARP lines. I see instead am ICMP response, here is a screenshot from my result:
I am doing the nmap with sudo privileges so I'm not sure why I am not seeing the MAC address.
Thanks for any help
sudo nmap 192.168.43.109 -sn -oA host -PE --reason This command will only show the MAC address if your machine and the target machine are on the same network.

Opening a telnet connection as pseudotty

I am trying to create a number of connections to a cyclades server. This is done by using telnet to an IP address (IP_ADDR) and a port number (PORT). It works fine when I create one active connection but I need to run a script to map these connections to /dev/PSEUDO_TTY_PORT, which another program needs to access. I am running CentOS so the cyclades-server-client modules are not available and rtelnet isn't available either.
I believe the command should look something like this:
telnet IP_ADDR PORT /dev/PSEUDO_TTY_PORT
But that doesn't work, does anyone know how to properly map it?
Thank you.
Thanks #0andriy, managed to do so using
socat PTY, link=/dev/PSEUDO_TTY_PORT,raw,echo=0 TCP4:IP_ADDR:PORT

run a distribution test with jmeter in Vm Centos

I'm trying to run a distribution test for learning purpose and i'm using a Virtual machine Centos 7 as a slave in my Windows 7 ( master running in window 7) but even if i configure the master with the IP of the slave ( VM ), modifying the file jmeter.properties, doesn't work, i try run Jmeter-server in the Centos machine but this problem appears.
Created remote object: UnicastServerRef [liveRef: [endpoint:[127.0.0.1:44341](lo
cal),objID:[4e68a212:14a8564a618:-7fff, 5760053273490727502]]]
Server failed to start: java.rmi.RemoteException: Cannot start. localhost.locald
omain is a loopback address.
An error occurred: Cannot start. localhost.localdomain is a loopback address.
Can somebody give me a direction where look or a explanation how can i do it?
Thanks!
Put the following line in system.properties file: java.rmi.server.hostname=xxx.xxx.xxx.xxx
Alternatively start JMeter providing above property as a command-line argument as:
jmeter (or jmeter-server) -Djava.rmi.server.hostname=xxx.xxx.xxx.xxx
Double check your network configuration, i.e. make sure that your /etc/hosts file contains the following lines:
127.0.0.1 localhost localhost.localdomain
xxx.xxx.xxx.xxx your CentOS machine hostname
In all above cases xxx.xxx.xxx.xxx should be IP address of your CentOS machine and this IP address must be different from 127.0.0.1.
Also make sure that you select "Bridged" networking in your Virtual Machine, machines should be able to reach each other over the network, firewalls should be properly configured to allow communication, etc.
For more information on different JMeter Properties and ways of setting/overriding them see Apache JMeter Properties Customization Guide

How to connect with host PostgreSQL from vagrant virtualbox machine

I have a VirtualBox machine running Ubuntu 12.04 in a Mac OS X host machine. In my host machine (Mac OS X), I have PostgreSQL installed. I would like to connect to this PostgreSQL server from my Ubuntu virtual machine (I know normally it's the opposite way).
I guess I should configure some networking parameters in VirtualBox itself. All I get from Vagrant docs is I need to assign my vm a static IP to use a private network. But once created, how do I reach my host from my guest?
I didn't find anything like that in vagrant docs. So, there's probably a good reason for that. Does it make sense? I don't want to duplicate PostgreSQL installation. Just use my current existent one.
You can reach your host from your guest by using the default gateway on your VM.
See this answer for an explanation.
By running netstat -rn you can get the default gateway and then use that ip address in your config file of your application.
Running netstat -rn | grep "^0.0.0.0 " | cut -d " " -f10 should give you the correct ip address. (only tested this on my machine)
Easy way - simply use this "magic" IP from inside of vagrant without any additional configurations:
10.0.2.2
Don't know if it's always static, though for me works and it's very convenient - I can use laptop at home, from office - having assigned different IPs to me by routers, but my VMs know the "trusty name" of their master 🐶

how to start jboss for my local network

First question is: it seems like magic that one I run ./run.sh, I can turn off the computer, turn it back on again and still it knows about //localhost:8080/jmx-console/. I looked in the start up programs and I don't see any hint of it. How does it remember?
Never mind, the real question is I want the host to be my local LAN and not just localhost. I found I could do shutdown.sh and that would indeed shutdown the server such that //localhost:8080/jmx-console/ would no longer work. That is good, now the next step is to confine it to my LAN. I know I can use ./run.sh -b 0.0.0.0 but that opens it to the world. My computer is at 192.168.1.100 so I tried ./run.sh -b 192.168.1.0 which I would take to mean take addresses in the range 192.168.1.XXX. The server "started" but I can't get it to answer any calls and I couldn't get shutdown.sh to do anything.
I started ./run.sh again and it hooked up to the localhost. I don't know if it still has a memory of my ./run.sh -b 192.168.1.0 or not. If so, I'd like to get rid of it. In any case I'd like to know what the correct command should be.
Thanks,
Ilan
Which version of jboss?
I use -b 127.0.0.1 on jboss 4