для начала вводите правильно команду telnet - двоеточие между хостом и портом не нужно telnet 192.168.31.195 1883
Вы в принципе уже увидели в чем проблема. Раз netstat выдает что порт открыт на "шинном адресе" 127.0.0.1 следовательно он будет доступен только с локальной с машины, никакие другие интерфейсы обслуживаться не будут. Следовательно если вы сделаете telnet 127.0.0.1 1883 на локальной машины - то у видите открытый порт.
Для того чтобы порт работал на удаленной машине необходимо в самом сервисе изменить настройки обслуживаемого интерфейса, как это сделать не подскажу - у всех сервисов это настраивается по разному. Но в netsts Вы должны увидеть картинку 192.168.31.195:1883 что означает, что сервис слушает данный порт на вашей сетевой карте у которой адрес 192.168.31.195 или 0.0.0.0:1883 что означает что порт слушается на всех доступных сетевых интерфейстах