none
ip адрес RRS feed

  • Вопрос

  • Доброе время суток господа!!!!!!!!!

    Я пишу программу на C# совместно с MS SQL Server 2000 и столкнулся с проблемой, я ни как не могу получить ip адрес пользователя, который подключился к БД и совершил там свои злодеяния. Физический адрес я знаю как получить (как ни странно но он находится в таб. sysprocesses базы master, а вот ip-шник???? ). Добрые люди помогите, пожалуйста!!!!!!????????

    Заранее благодарю!!!!!!!

    21 марта 2007 г. 22:41

Ответы

Все ответы

  • В самом SQL ip-адрес не храниться. Можно получить соответсвие ip и MAC из arp-кеша сервера, команда "arp -a".

    Ну а дальше в зависимости от ситуации. Проще всего забить соответсвия в отдельную табличку. Сложнее всего  - динамически вызывать arp -a и получать свежие данные, примерно так:

    --EXEC sp_configure 'show advanced options', 1

    --GO

    ---- To update the currently configured value for advanced options.

    --RECONFIGURE

    --GO

    ---- To enable the feature.

    --EXEC sp_configure 'xp_cmdshell', 1

    --GO

    ---- To update the currently configured value for this feature.

    --RECONFIGURE

    --GO

    declare @test varchar(4000)

    exec @test=master..xp_cmdshell 'arp -a | find "b8-be"'

    + sqlcmd :)

    22 марта 2007 г. 9:06
  • Задача поиска нарушителей не входит в число задачь СУБД. :)

    Скажите, зачем Вам понадобился именно IP, ведь он ни как в получении прав пользователя на уровне баз данных не задействован?

    22 марта 2007 г. 19:35
  • Дело в том что программа которую я пишу, отслеживает пользователей которые изменили данные в БД  с выводом отчета в котором находятся все данные о пользователе такие как : имя компьютера, имя сервера, имя юзера, время когда он это сделал, что конкретно изменил (какие поля и какие данные) но этого не достаточно, необходимо ip адрес чтобы если что то случится можно будет его найти. По имени пользователя его ведь не найдешь он может бы для нескольких пользователей и на разных компьютерах да ктомуже неплохо было бы иметь запись в отчете ip-шник вместе с макашником.

    22 марта 2007 г. 21:56
  • Извините пожалуйста, вроде бы все понятно, но я еще в этом деле можно так сказать новичок не могли бы вы сказать что такое “sqlcmd” это какой то запрос что ли или что (если можно поподробней.) Pease!!!!!!!!!!!!!!

    22 марта 2007 г. 22:00
  • Может быть, для отслеживания пользователя Вам достаточно этого? Какой пользователь, с какой машины и с помощью какого приложения:

    select suser_sname() -- имя пользователя
    select host_name() -- имя машины
    select app_name() -- имя приложения

    Пользователи у вас не из инета коннектятся?

    23 марта 2007 г. 7:00
  • Ip адрес подойдёт для идентификации пользователя, если Вы сами управляете привязкой адресов к сетевым интерфейсам пользователей, во всех остальных случаях нет никаких гарантий :)))

    ИМХО - вы пошли по не верному пути... не нужно следить за пользователями, нужно управлять их правами и доступом. Следить нужно только за попытками несанкционированного доступа и повышения привелегий... для этого есть специализированые средства.

    В вашем случае, гораздо проще персонифицировать логины и имена пользователей.

    23 марта 2007 г. 7:18
  •  

    Пользователи коннектятся по сетке! Что касается всего остального то я с вами согласен!

    Рас уш на то пошло, то это моя дипломная работа и если дипломный руководитель мне сказал чтобы был ip-шник то я ничего не могу поделать (я ему говорил зачем он нужен когда у меня выводит в полнее достаточную информацию)!!!!????!!!!!! Но, увы!!!!

    23 марта 2007 г. 21:38
  • Дело в том что дипломная работа уменя "Аудит БД"  и она всетаки должна отслеживать юзеров которые в БД безобраздничают, причем моя программа будет внедрятся в уже существующую специальную программу которая работает с БД!
    23 марта 2007 г. 21:45
  • Дело в том, что SQL Server имеет встроенные средства аудита уровня С2.
    24 марта 2007 г. 18:20