Теория
Во-первых, узнать IP адрес по UIN (номеру аси) просто так не получится. Все дыры надо полагать уже давно пофиксены, а передача обычных сообщений итак идет через центральный сервер. Максимум, что тут можно узнать — это адрес ICQ сервера, но кому это нужно?
Другое дело, например, другие более ресурсоемкие сервисы. В частности — передача файла другому пользователю. Пускать файлы через какой-нибудь один сервер очень накладно, поэтому файлы передаются напрямую. Вот во время такой передачи и можно узнать IP адрес человека, с которым общаешься.
Полагаю, что с другими мессенджерами будь то msn/live messanger, mail.ru и другие дела обстоят так же. Что касается самого ICQ, тот тут тоже малую роль играет, какой у собеседника клиент. Протокол остается один и тот же, как для R&Q, так и для Miranda. Единственное что, в новых версиях Qip Infium по-умолчанию включена отправка файла через центральный сервер, но это несущественно, если файл будете отправлять вы.
Многие мессенджеры предупреждают пользователя о том, что он раскрывает свой айпи, когда передает файл, но разве кто-то читает эти сообщения? Когда вы последний раз задумывались о том, что «светите» IP адресом во время передачи файла? Точно так же большинство других пользователей никогда не обращает внимания на подобные предупреждения.
Практика
Итак, к более практической части. Для начала вам нужно скачать и установить программу для перехвата всего траффика, который проходит через ваши сетевые интерфейсы. Отличная программа для этого — Wireshark. Бесплатная, open-source и вобще очень удобная.
После установки вам, возможно, потребуется ее немного настроить — это не очень сложно. Затем, отключите все, что использует интеренет соединение, чтобы не забивать отчет лишними записями. Оставьте только IM-клиент: асю, квип, миранду, что там у вас. Включите запись в Wireshark'e.
Не смотря на отключенные программы, наверняка программа будет регистрировать какую-то фоновую активность. Вы можете разглядеть пакеты от мессенджера — уведомления о том, что кто-то стал онлайн, сменил статус, набирает вам сообщение, такое.
Когда вы привыкнете более-менее к этому потоку информации, начните передавать файл. Как только пользователь-жертва начнет этот файл принимать, вы сразу заметите возросшее количество записей в Wireshark'e.
Зная свой айпи адрес, легко увидеть ip адрес того, с кем так активно «общается» ваш компьютер в данный момент. Вот и все.
Как уговорить пользователя передать вам файл
На самом деле, по-моему это довольно просто. Подавляющее большинство пользователей и так принимает файлы без всяких вопросов, достаточно хотя бы немного заинтересовать человека. Так, что если вы умеете вести беседу немного лучше, чем спам-бот, все будет хорошо.
Если хотите узнать IP адрес какого-нибудь айтишника, прикиньтесь бедной глупой девушкой, у которой что-нибудь с компьютером и — о, чудо! — «я сфотографировала эту непонятную надпись на фотоаппарат и могу прислать фотографию». Мало кто откажется помочь.
Так же можете помнить о том, что не обязательно, чтобы файл присылали вы. Можно и чтобы собеседник вам что-нибудь отправлял.
Ну что же, пробуйте