У чому суттєві відмінності між трацептом і трасеротом?


58

Нещодавно я прочитав невелику статтю про HowToGeek, яка мене трохи чухає головою. Я маю досить мало досвіду роботи з Linux, тому вибачте мене, якщо це початковий рівень:

"Команда trapseath схожа на traceroute, але вона не вимагає привілеїв root."

http://www.howtogeek.com/108511/how-to-work-with-the-network-from-the-linux-terminal-11-commands-you-need-to-know/

Як трассероза і трацепт виконують подібну функцію, по-різному?

Що робить traceroute, який вимагає кореневих привілеїв, що трапеція не робить?

Чи існують сценарії, коли слід віддати перевагу трацепту над traceroute, або навпаки?

Відповіді:


57

Як трассероза і трацепт виконують подібну функцію, по-різному?

Обидві програми по суті роблять одне: надсилати та отримувати певні IP-пакети.

Ви можете використовувати API звичайних сокетів для цього або ви можете маніпулювати необмеженими пакетами з інтерфейсу. API сокетів не вимагає привілеїв root, оскільки він досить захищений. Є вбудовані механізми для запобігання доступу однієї програми до IP-пакетів, які створила інша програма.

Tracepath використовує API розеток для всієї його функціональності. Traceroute маніпулює необробленими пакетами для певної його функціональності.

Що робить traceroute, який вимагає кореневих привілеїв, що трапеція не робить?

Він маніпулює сирими пакетами.

Для маніпулювання необробленими пакетами потрібні привілеї root, оскільки, виконуючи це, ви обходите механізми захисту API сокетів. Ви отримуєте доступ до комунікацій усіх інших процесів та користувачів, що використовують цей інтерфейс. Подумайте лише, що міг би зробити вірус, якщо він міг би маніпулювати сирими пакунками.

Чи існують сценарії, коли слід віддати перевагу трацепту над traceroute, або навпаки?

Одна розширена команда, доступна в Traceroute, - це можливість запустити мережевий слід за допомогою протоколу IPv4 або IPv6. Можна також вибрати для зонда формати даних ICMP, TCP або UDP. Traceroute може вибрати конкретні маршрутизовані джерела для зонда та вибрати, з якого порту відправити. Він може встановити обмеження на мінімальний і максимальний TTL, що приймається з вихідного зонда. Крім того, Traceroute може показувати час очікування пінг-відповідей, а також встановлювати, скільки пакетів надсилається в кожному зонді та скільки зондів для надсилання. Деякі з цих команд можуть не підтримуватися мережевим обладнанням на шляху, який міг би припинити зонд до того, як він досяг його цільового призначення.

джерела: 1 2 3


1
Нарешті, відповідь із законним занепокоєнням щодо безпеки, що стосується місцевої системи. Дякую!
Ізі

10

Ви можете використовувати tracerouteдля розширеного мережевого відстеження, ви можете вибирати між протоколами IPv4 та Ipv6, а також для зонда формати даних ICMP, TCP або UDP.

Таким чином, tracerouteє більш вдосконалені варіанти, ніж для tracepathвикористання пакетів UDP для відстеження.

Тепер про привілеї суперпользователя :

ви можете користуватися tracerouteяк звичайним користувачем, так і суперусером, що залежить від параметра, який ви хочете використовувати, ось приклад:

введіть тут опис зображення

Тут ми використовуємо пакети UDP, які не потребують привілеїв суперпользователя

введіть тут опис зображення

Тут ми використовуємо ехо-пакети ICMP, які потребують привілеїв.

За допомогою пакетів ICMP ви можете здійснити атаку DDOS.

Щоб дізнатися про параметри ICMP Traceroute Man Page

Для перегляду tracerouteопцій введіть терміналman traceroute

ICMP потребують привілеїв суперкористувача, щоб гарантувати, що справедливі адміністратори можуть використовувати деякі його параметри, оскільки він може використовуватися для здійснення пінг смерті та збору інформації про певну мережу, привілей тут надасть суперкористувачеві можливість змінювати параметри за допомогою ICMP пакети.

Щоб ви могли це бачити, коли ви намагаєтеся пінг на такі веб-сайти www.microsoft.com, ваш ping не зможе навіть його Інтернет, і тому, що маршрутизатори Microsoft блокують ICMP_requests.

Тож linux захищає систему від непривілейованих користувачів, тому вони не можуть використовувати ці команди для атаки.


3
Зазвичай обмеження щодо непривілейованих користувачів застосовуються для захисту системи від нападу - не від використання в якості вектора для атаки на інші системи. Це не зовсім має сенс для мене - чи знаєте ви будь-яку документацію, яка підтверджує це?
Ізі

3

я думаю, ви повинні прочитати це http://www.ehow.com/list_7526520_differences-between-traceroute-tracepath.html

З вищенаведеного посилання:

TracePath

Tracepath простежує шлях до визначеної мережевої адреси, повідомляючи про "час жити" або про відставання TTL та одиниці максимальної передачі (MTU) по шляху. Цю команду може виконувати будь-який інший користувач з доступом до командного рядка.


Основи трасування

Traceroute по суті такий же, як Tracepath, за винятком того, що за замовчуванням він дасть лише значення TTL. Якщо ви хочете отримати додаткові дані, потрібно запитати ці змінні в командному рядку. Крім того, traceroute вимагає доступу суперпользователя для запуску команди у вікні Linux, а деякі розширені запити даних можуть не підтримуватися всіма маршрутизаторами по шляху. У середовищі Windows будь-який користувач, що має доступ до командного рядка, може запускати Traceroute.


Дякуємо за посилання, але чи могли б ви вказати якийсь фактичний вміст у своїй відповіді?
Ізі

Привіт bodhi.zazen, дякую за те, що покращив мій пост. :)
rɑːdʒɑ

5
Дякуємо за роз’яснення. Однак, відповідь тут (не отримали переглянути посилання поки) ще НЕ вистачає двох частин питання: Чому ж tracerouteпотрібен доступ суперкористувача (тим більше , що він на справді здається , що це робить менше , ніж tracepathза замовчуванням)? І, окрім сценаріїв, коли ви не суперпользователь, навіщо вибирати один над іншим?
Ізі

1

pingі tracerouteвикористовувати протокол ICMP. Як і UDP і TCP, це доступно через API звичайних сокетів. Тільки номери UDP і TCP-портів менше 1024 захищені від використання, крім кореневих. ICMP вільно доступний для всіх користувачів.

Якщо ви дійсно хочете побачити, як працюють ping і traceroute, ви можете завантажити приклад реалізації коду С для CodeProject .

Коротше кажучи, вони просто відкривають ICMP-розетку, а слідова послідовність змінює приріст TTL за допомогою setockopt до досягнення мети.

Джерело: Посилання


Також; tracepath використовує UDP, який, крім опцій UDP у самій traceroute, не вимагає підвищених привілеїв.
Ахмадгео
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.