Имя пользователя:
Пароль:
 | Правила  

Компьютерный форум OSzone.net » Компьютеры + Интернет » Хочу все знать » [решено] Вот как вычислить IP

Ответить
Настройки темы
[решено] Вот как вычислить IP

Аватара для McLotos

Старожил


Сообщения: 410
Благодарности: 21

Профиль | Отправить PM | Цитировать


Долго ломал голову, и никак не додумаюсь
Вот смотрите:
2552552 = 0.38.242.232
25525520 = 1.133.125.16
255255200 = 15.54.226.60
2552552000=152.36.218.64
Хотя всё очень легко, допустим имеется адрес 61.130.212.100, нужно представить его в виде числа
61 умножить на 256 в кубе = 1023410176
130 умножить на 256 в квадрате = 8519680
212 умножить на 256 = 54272
ну а 100 мы так и оставим
посчитаем сумму полученных значений
1023410176+8519680+54272+100 = 1031984228 = 61.130.212.100
А вот как провести обратные расчеты? ну из числа получить IP

-------
Старайтесь не решать свои проблемы по средствам личных сообщений, они могут быть решены очень не скоро.Не забывайте пользоваться поиском по форуму.Помните что уникальных проблем не бывает.Если всё-таки ответа не нашли, создайте тему, с подробным описанием проблемы.Спасибо за понимание.


Отправлено: 22:25, 29-01-2014

 

Вредитель


Сообщения: 460
Благодарности: 126

Профиль | Отправить PM | Цитировать


Обратно тому что вы написали.

2552552000/256^3=152 отбрасываем дробную часть
2552552000-152*256^3=2415168
2415168/256^2=36
2415168-36*256^2=55872
55872/256=218
55872-218*256=64

-------
Все сказаное является только моим личным мнением.

Это сообщение посчитали полезным следующие участники:

Отправлено: 23:08, 29-01-2014 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для McLotos

Старожил


Сообщения: 410
Благодарности: 21

Профиль | Отправить PM | Цитировать


DedAlex, спасибо, как-то я не сообразил.

-------
Старайтесь не решать свои проблемы по средствам личных сообщений, они могут быть решены очень не скоро.Не забывайте пользоваться поиском по форуму.Помните что уникальных проблем не бывает.Если всё-таки ответа не нашли, создайте тему, с подробным описанием проблемы.Спасибо за понимание.


Отправлено: 23:48, 29-01-2014 | #3


Аватара для McLotos

Старожил


Сообщения: 410
Благодарности: 21

Профиль | Отправить PM | Цитировать


В общем чтобы каждый раз так не считать (а то взрыв мозга можно заработать), написал скриптик
читать дальше »
Код: Выделить весь код
#include <GUIConstantsEx.au3>
#include <EditConstants.au3>
#include <WindowsConstants.au3>
#include <MsgBoxConstants.au3>

$BGUI=GUICreate("Шифровка IP",200,55)
   GUISetState(@SW_SHOW)
$octet1 = GUICtrlCreateInput("",10,5,30,20,$ES_NUMBER)
GUICtrlSetLimit(-1, 3)
$octet2 = GUICtrlCreateInput("",40,5,30,20,$ES_NUMBER )
GUICtrlSetLimit(-1, 3)
$octet3 = GUICtrlCreateInput("",70,5,30,20,$ES_NUMBER )
GUICtrlSetLimit(-1, 3)
$octet4 = GUICtrlCreateInput("",100,5,30,20,$ES_NUMBER )
GUICtrlSetLimit(-1, 3)
$button1 = GUICtrlCreateButton("Расчитать",130,5,60,20)
$code=GUICtrlCreateInput("",10,30,120,20,$ES_NUMBER)
$button2 = GUICtrlCreateButton("Расчитать",130,30,60,20)
GUICtrlSetLimit(-1, 10)
While 1
	 Switch GUIGetMsg()
            Case $GUI_EVENT_CLOSE
                ExitLoop
			Case $button1
				MsgBox(0,'Результат',GUICtrlRead($octet1)*256*256*256+GUICtrlRead($octet2)*256*256+GUICtrlRead($octet3)*256+GUICtrlRead($octet4))
			Case $button2
				$octet1=StringLeft(GUICtrlRead($code)/256/256/256, StringInStr(GUICtrlRead($code)/256/256/256, ".") - 1)
				$tmp=GUICtrlRead($code)-$octet1*256*256*256
				$octet2=StringLeft($tmp/256/256, StringInStr($tmp/256/256, ".") - 1)
				$tmp2=($tmp-$octet2*256*256)
				$octet3=StringLeft($tmp2/256, StringInStr($tmp2/256, ".") - 1)
				$octet4=$tmp2-$octet3*256
				MsgBox(0,'Результат', $octet1 & '.' & $octet2 & '.' & $octet3 & '.' & $octet4)

        EndSwitch
	WEnd
	 GUIDelete($BGUI)

-------
Старайтесь не решать свои проблемы по средствам личных сообщений, они могут быть решены очень не скоро.Не забывайте пользоваться поиском по форуму.Помните что уникальных проблем не бывает.Если всё-таки ответа не нашли, создайте тему, с подробным описанием проблемы.Спасибо за понимание.


Отправлено: 14:19, 30-01-2014 | #4


Вредитель


Сообщения: 460
Благодарности: 126

Профиль | Отправить PM | Цитировать


McLotos, для компьютерных расчетов, это не самый оптимальный алгоритм. Тут можно использовать BitAND и BitShift.
IP в число:
Код: Выделить весь код
$IP = BitShift($octet1, -24) + BitShift($octet2, -16) + BitShift($octet3, -8) + $octet4
число в IP:
Код: Выделить весь код
$octet1 = BitAND(255, BitShift($IP, 24))
$octet2 = BitAND(255, BitShift($IP, 16))
$octet3 = BitAND(255, BitShift($IP, 8))
$octet4 = BitAND(255, IP))
P.S. Я не профессионал в AutiIt, мог что-то намутить . Это скорее информация к размышлению, чем готовый код.

-------
Все сказаное является только моим личным мнением.

Это сообщение посчитали полезным следующие участники:

Отправлено: 15:17, 30-01-2014 | #5



Компьютерный форум OSzone.net » Компьютеры + Интернет » Хочу все знать » [решено] Вот как вычислить IP

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
RAID - Как вычислить сбойный HDD? Avatar-Lion Накопители (SSD, HDD, USB Flash) 6 09-12-2013 13:55
Вопрос - Вычислить IP, и по IP человека? THEDOGG Защита компьютерных систем 17 24-02-2013 18:20
Как вычислить какой процес и пользователь грузит диск??!! lechyk Microsoft Windows NT/2000/2003 1 20-12-2011 13:33
Как мне вычислить лучшие прокси под меня? UTU Хочу все знать 6 18-05-2006 19:33
Как вычислить, куда и каким приложением идет дозвон Venus Сетевые технологии 1 29-04-2005 23:44




 
Переход