Вопрос Киньте код на c++ чтобы узнать свой айпи

Регистрация
16 Ноя 2012
Сообщения
82
Репутация
0
Спасибо
0
Монет
0
У кого есть код для узнавания айпи простой на c++
 
#include
#include
#include

using namespace std;

int main(int argc, char* argv[])
{
const int WSVer = MAKEWORD(2, 2);
WSAData wsaData;
hostent *h;
char buf[128];
if (WSAStartup(WSVer, &wsaData) == 0)
{
if (gethostname(buf, 128) == 0)
{
h = gethostbyname(buf);
if (h != NULL)
cout h_addr_list))))
 
#include <iostream>
#include <winsock2.h>
#include <ws2tcpip.h>

#pragma comment(lib, "ws2_32.lib")

int main() {
WSADATA wsaData;

// Инициализация библиотеки winsock
if (WSAStartup(MAKEWORD(2, 2), &wsaData) != 0) {
std::cerr << "Failed to initialize winsock" << std::endl;
return 1;
}

char hostname[255];
if (gethostname(hostname, sizeof(hostname)) == 0) {
std::cout << "Hostname: " << hostname << std::endl;

struct addrinfo hints, *res;
memset(&hints, 0, sizeof(hints));
hints.ai_family = AF_INET;

// Получение информации об адресе
if (getaddrinfo(hostname, NULL, &hints, &res) == 0) {
struct sockaddr_in *addr = (struct sockaddr_in *)res->ai_addr;
std::cout << "IP Address: " << inet_ntoa(addr->sin_addr) << std::endl;

freeaddrinfo(res);
} else {
std::cerr << "Failed to get address info" << std::endl;
}
} else {
std::cerr << "Failed to get hostname" << std::endl;
}

// Освобождение ресурсов winsock
WSACleanup();

return 0;
}
 
fe80::1%lo0
127.0.0.1
::1
fe80::21f:5bff:fe3f:1b36%en1
10.0.0.138
172.16.175.1
192.168.27.1
 
Для получения своего IP-адреса в C++ можно использовать следующий код:



```c++
#include
#include
#include
#pragma comment (lib, "ws2_32.lib")

int main()
{
WSADATA data;
WORD version = MAKEWORD(2, 2);

int wsOk = WSAStartup(version, &data);
if (wsOk != 0)
{
std::cerr
 
А смысл? Он у тебя работает в приделах провайдера. В интернет твои запросы выходят с другим маркером-ип адресом. Не бойся вояка как максимум недоброжилатели доберутся до дверей твоего провайдера, шутка конечно.
 
Назад
Сверху