Wireshark

Посібник з інтерфейсу командного рядка Wireshark “tshark”

Посібник з інтерфейсу командного рядка Wireshark “tshark”
У попередніх підручниках для Wireshark ми висвітлювали основні та розширені теми. У цій статті ми розберемося та розглянемо інтерфейс командного рядка для Wireshark, тобто.e., царк. Термінальна версія Wireshark підтримує подібні опції і дуже корисна, коли графічний інтерфейс користувача (графічний інтерфейс користувача) недоступний.

Навіть незважаючи на те, що графічний користувальницький інтерфейс теоретично набагато простіший у використанні, не всі середовища підтримують його, особливо серверні середовища з лише параметрами командного рядка. Отже, в якийсь момент часу, як адміністратор мережі або інженер безпеки, вам доведеться використовувати інтерфейс командного рядка. Важливо зазначити, що tshark іноді використовується як заміна tcpdump. Незважаючи на те, що обидва інструменти майже еквівалентні функціоналу фіксації трафіку, tshark набагато потужніший.

Найкраще, що ви можете зробити, це використовувати tshark для налаштування порту на сервері, який пересилає інформацію у вашу систему, щоб ви могли захоплювати трафік для аналізу за допомогою графічного інтерфейсу користувача. Однак поки що ми дізнаємося, як це працює, які його атрибути та як ви можете використовувати його якнайкраще з його можливостей.

Введіть таку команду, щоб встановити tshark в Ubuntu / Debian за допомогою apt-get:

[захищено електронною поштою]: ~ $ sudo apt-get install tshark -y

Тепер введіть царк -допомога щоб перерахувати всі можливі аргументи з відповідними прапорами, які ми можемо передати команді царк.

[захищено електронною поштою]: ~ $ tshark --help | голова -20
TShark (Wireshark) 2.6.10 (Git v2.6.10 упаковано як 2.6.10-1 ~ ubuntu18.04.0)
Скидання та аналіз мережевого трафіку.
Дивіться https: // www.дротовий акул.org для отримання додаткової інформації.
Використання: tshark [параметри]…
Інтерфейс захоплення:
-i ім'я або idx інтерфейсу (def: перший неізворотний)
-f пакетний фільтр у синтаксисі фільтру libpcap
-s довжина знімка пакета (def: відповідний максимум)
-p не захоплюйте у безладному режимі
-Знімаю в режимі монітора, якщо такий є
-B розмір буфера ядра (def: 2MB)
тип шару посилання (def: перший відповідний)
--відмітка часу метод позначки часу для інтерфейсу
-D роздрукувати список інтерфейсів і вийти
-L друк списку типів шарів посилань iface та exit
--list-time-stamp-types друкує список типів міток часу для iface та виходу
Умови зупинки захоплення:

Ви можете помітити список усіх доступних варіантів. У цій статті ми детально висвітлимо більшість аргументів, і ви зрозумієте силу цієї версії Wireshark, орієнтованої на термінали.

Вибір мережевого інтерфейсу:

Щоб провести зйомку та аналіз у реальному часі в цій утиліті, нам спочатку потрібно з’ясувати наш робочий інтерфейс. Тип царк -Д і tshark перелічить усі доступні інтерфейси.

[захищено електронною поштою]: ~ $ tshark -D
1. enp0s3
2. будь-який
3. ось (Loopback)
4. nflog
5. nfqueue
6. usbmon1
7. ciscodump (віддалене захоплення Cisco)
8. randpkt (генератор випадкових пакетів)
9. sshdump (віддалене захоплення SSH)
10. udpdump (віддалене захоплення слухача UDP)

Зверніть увагу, що не всі перераховані інтерфейси будуть працювати. Тип ifconfig знайти робочі інтерфейси у вашій системі. У моєму випадку це так enp0s3.

Захоплення трафіку:

Щоб розпочати процес захоплення в реальному часі, ми використаємо царк команда з-i”, Щоб розпочати процес захоплення з робочого інтерфейсу.

[захищено електронною поштою]: ~ $ tshark -i enp0s3

Використовуйте Ctrl + C щоб зупинити зйомку в прямому ефірі. У наведеній вище команді я передав захоплений трафік до команди Linux голова для відображення перших кількох захоплених пакетів. Або ви також можете використовувати “-c ”Синтаксис для захоплення“n " кількість пакетів.

[захищено електронною поштою]: ~ $ tshark -i enp0s3 -c 5

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

Ви також можете використовувати наступну команду для перевірки на декількох інтерфейсах:

[захищено електронною поштою]: ~ $ tshark -i enp0s3 -i usbmon1 -i lo

Тим часом іншим способом живого захоплення трафіку є використання номера поряд із переліченими інтерфейсами.

[захищено електронною поштою]: ~ $ tshark -i номер_інтерфейсу

Однак за наявності декількох інтерфейсів важко відстежувати їх перелічені номери.

Фільтр захоплення:

Фільтри захоплення значно зменшують розмір захопленого файлу. Tshark використовує синтаксис фільтра пакетних фільтрів Берклі -f”, Який також використовується tcpdump. Ми будемо використовувати опцію “-f” для захоплення лише пакетів з портів 80 або 53, а “-c” для відображення лише перших 10 пакетів.

[захищено електронною поштою]: ~ $ tshark -i enp0s3 -f "порт 80 або порт 53" -c 10

Збереження захопленого трафіку у файл:

Головне, на що слід звернути увагу на наведеному вище скріншоті, - це те, що відображена інформація не зберігається, отже, вона менш корисна. Ми використовуємо аргумент “-w”, Щоб зберегти захоплений мережевий трафік до test_capture.pcap в / tmp папку.

[захищено електронною поштою]: ~ $ tshark -i enp0s3 -w / tmp / test_capture.pcap

Тоді як, .pcap є розширенням типу файлу Wireshark. Зберігаючи файл, ви можете пізніше переглянути та проаналізувати трафік на машині з графічним інтерфейсом Wireshark.

Зберегти файл у /tmp оскільки ця папка не вимагає жодних привілеїв на виконання. Якщо ви збережете його в іншій папці, навіть якщо у вас запущений tshark з правами root, програма заборонить дозвіл із міркувань безпеки.

Давайте розглянемо всі можливі шляхи, за допомогою яких ви можете:

  • застосовувати обмеження до збору даних, таких як вихід царк або автоматичне зупинення процесу захоплення, і
  • вивести ваші файли.

Параметр автоматичного зупинки:

Ви можете використовувати-a”Параметр для включення доступних прапорів, таких як тривалість файлу та файли. У наступній команді ми використовуємо параметр autostop разом з тривалість прапорець, щоб зупинити процес протягом 120 секунд.

[захищено електронною поштою]: ~ $ tshark -i enp0s3 -a тривалість: 120 -w / tmp / test_capture.pcap

Подібним чином, якщо вам не потрібні ваші файли, щоб бути надто великими, розмір файлу - ідеальний прапор для зупинки процесу після певних обмежень у КБ.

[захищено електронною поштою]: ~ $ tshark -i enp0s3 -a розмір файлу: 50 -w / tmp / test_capture.pcap

Головне, файлів flag дозволяє зупинити процес захоплення після ряду файлів. Але це можливо лише після створення декількох файлів, для чого потрібно виконати інший корисний параметр, висновок захоплення.

Вихідний параметр захоплення:

Захоплення виводу, він же аргумент Ringbuffer “-b“, Поставляється з тими самими прапорами, що і автостоп. Однак використання / вихід дещо відрізняється, тобто.e., прапори тривалість і розмір файлу, оскільки це дозволяє вам переключати або зберігати пакети в інший файл після досягнення певного обмеження часу в секундах або розміру файлу.

Наведена нижче команда показує, що ми фіксуємо трафік через наш мережевий інтерфейс enp0s3, і захоплювати трафік за допомогою фільтра захоплення “-f”Для tcp та dns. Ми використовуємо опцію “-b” з буфером дзвінків розмір файлу прапорець, щоб зберегти кожен файл розміром 15 Кб, а також використовувати аргумент autostop, щоб вказати кількість використовуваних файлів файлів варіант такий, що зупиняє процес захоплення після створення трьох файлів.

[захищено електронною поштою]: ~ $ tshark -i enp0s3 -f "порт 53 або порт 21" -b розмір файлу: 15 -a файли: 2 -w / tmp / test_capture.pcap

Я розділив свій термінал на два екрани, щоб активно контролювати створення трьох .файли pcap.

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

[захищено електронною поштою]: ~ $ watch -n 1 "ls -lt"

Тепер вам не потрібно запам’ятовувати всі ці прапори. Натомість введіть команду tshark -i enp0s3 -f “порт 53 або порт 21” -b розмір файлу: 15 -a у своєму терміналі та натисніть Вкладка. Список усіх доступних прапорів буде доступний на вашому екрані.

[захищено електронною поштою]: ~ $ tshark -i enp0s3 -f "порт 53 або порт 21" -b розмір файлу: 15 -a
тривалість: файли: розмір файлу:
[захищено електронною поштою]: ~ $ tshark -i enp0s3 -f "порт 53 або порт 21" -b розмір файлу: 15 -a

Читання .pcap Файли:

Найголовніше, що ви можете використовуватиПараметр для зчитування test_capture.pcap-файлів і передайте його до голова команди.

[захищено електронною поштою]: ~ $ tshark -r / tmp / test_capture.pcap | голова

Інформація, що відображається у вихідному файлі, може бути трохи приголомшливою. Щоб уникнути непотрібних деталей та краще зрозуміти будь-яку конкретну IP-адресу призначення, ми використовуємоможливість читати захоплений пакет і використовувати файл ip.адр фільтр для перенаправлення виводу на новий файл із символом “-w”Варіант. Це дозволить нам переглянути файл і вдосконалити наш аналіз, застосувавши додаткові фільтри.

[захищено електронною поштою]: ~ $ tshark -r / tmp / test_capture.pcap -w / tmp / redirected_file.pcap ip.dst == 216.58.209.142
[захищено електронною поштою]: ~ $ tshark -r / tmp / redirected_file.pcap | голова
1 0.000000000 10.0.2.15 → 216.58.209.142 TLSv1.2370 Дані заявки
2 0.000168147 10.0.2.15 → 216.58.209.142 TLSv1.2 669 Дані заявки
3 0.011336222 10.0.2.15 → 216.58.209.142 TLSv1.2 5786 Дані заявки
4 0.016413181 10.0.2.15 → 216.58.209.142 TLSv1.2 1093 Дані заявки
5 0.016571741 10.0.2.15 → 216.58.209.142 TLSv1.2 403 Дані заявки
6 0.016658088 10.0.2.15 → 216.58.209.142 TCP 7354 [сегмент TCP повторно зібраного PDU]
7 0.016738530 10.0.2.15 → 216.58.209.142 TLSv1.2948 Дані заявки
8 0.023006863 10.0.2.15 → 216.58.209.142 TLSv1.2 233 Дані заявки
9 0.023152548 10.0.2.15 → 216.58.209.142 TLSv1.2 669 Дані заявки
10 0.023324835 10.0.2.15 → 216.58.209.142 TLSv1.2 3582 Дані заявки

Вибір полів для виведення:

Наведені вище команди виводять підсумок кожного пакета, який включає різні поля заголовка. Tshark також дозволяє переглядати вказані поля. Щоб вказати поле, ми використовуємо “-T поле”Та витягніть поля відповідно до нашого вибору.

Після "-T поле”, Ми використовуємо опцію“ -e ”для друку зазначених полів / фільтрів. Тут ми можемо використовувати фільтри відображення Wireshark.

[захищено електронною поштою]: ~ $ tshark -r / tmp / test_capture.pcap -T поля -e кадр.число -е ip.src -e ip.dst | голова
1 10.0.2.15 216.58.209.142
2 10.0.2.15 216.58.209.142
3 216.58.209.142 10.0.2.15
4 216.58.209.142 10.0.2.15
5 10.0.2.15 216.58.209.142
6 216.58.209.142 10.0.2.15
7 216.58.209.142 10.0.2.15
8 216.58.209.142 10.0.2.15
9 216.58.209.142 10.0.2.15
10 10.0.2.15 115.186.188.3

Захоплення зашифрованих даних рукостискання:

Наразі ми навчилися зберігати та читати вихідні файли, використовуючи різні параметри та фільтри. Тепер ми дізнаємось, як HTTPS ініціалізує сеанс tshark. Веб-сайти, доступні через HTTPS замість HTTP, забезпечують безпечну або зашифровану передачу даних по дроту. Для безпечної передачі шифрування Transport Layer Security запускає процес рукостискання, щоб розпочати спілкування між клієнтом та сервером.

Давайте зафіксуємо і зрозуміємо рукостискання TLS за допомогою tshark. Розділіть термінал на два екрани та використовуйте a wget команда для отримання файлу html з https: // www.дротовий акул.орг.

[захищено електронною поштою]: ~ $ wget https: // www.дротовий акул.орг
--2021-01-09 18: 45: 14-- https: // www.дротовий акул.орг /
Підключення до www.дротовий акул.орг (www.дротовий акул.орг) | 104.26.10.240 |: 443 ... підключено.
Запит HTTP надіслано, чекає відповіді ... 206 Частковий вміст
Довжина: 46892 (46K), залишилось 33272 (32K) [text / html]
Збереження в: 'index.html '
індекс.html 100% [++++++++++++++ ================================== ==>] 45.79 К 154 КБ / с за 0.2с
2021-01-09 18:43:27 (154 КБ / с) - 'індекс.html 'збережено [46892/46892]

На іншому екрані ми будемо використовувати tshark для захоплення перших 11 пакетів, використовуючи “-c”Параметр. Виконуючи аналіз, мітки часу важливі для реконструкції подій, тому ми використовуємо “-t оголошення”, Таким чином, що tshark додає мітку часу поряд із кожним захопленим пакетом. Нарешті, ми використовуємо команду host для захоплення пакетів із загального хосту IP-адреса.

Це рукостискання дуже схоже на рукостискання TCP. Як тільки тристороннє рукостискання TCP закінчується в перших трьох пакетах, четвертий-дев'ятий пакети виконують дещо подібний ритуал рукостискання і включають рядки TLS для забезпечення зашифрованого зв'язку між обома сторонами.

[захищено електронною поштою]: ~ $ tshark -i enp0s3 -c 11 -t хост оголошення 104.26.10.240
Зйомка на 'enp0s3'
1 2021-01-09 18:45:14.174524575 10.0.2.15 → 104.26.10.240 TCP 74 48512 → 443 [SYN] Seq = 0 Win = 64240 Len = 0 MSS = 1460 SACK_PERM = 1 TSval = 2488996311 TSecr = 0 WS = 128
2 2021-01-09 18:45:14.279972105 104.26.10.240 → 10.0.2.15 TCP 60 443 → 48512 [SYN, ACK] Seq = 0 Ack = 1 Win = 65535 Len = 0 MSS = 1460
3 2021-01-09 18:45:14.280020681 10.0.2.15 → 104.26.10.240 TCP 54 48512 → 443 [ACK] Послідовність = 1 Ack = 1 Win = 64240 Len = 0
4 2021-01-09 18:45:14.280593287 10.0.2.15 → 104.26.10.240 TLSv1 373 Клієнт Привіт
5 2021-01-09 18:45:14.281007512 104.26.10.240 → 10.0.2.15 TCP 60 443 → 48512 [ACK] Послідовність = 1 Ack = 320 Win = 65535 Len = 0
6 2021-01-09 18:45:14.390272461 104.26.10.240 → 10.0.2.15 TLSv1.3 1466 Сервер Привіт, змініть специфікацію шифру
7 2021-01-09 18:45:14.390303914 10.0.2.15 → 104.26.10.240 TCP 54 48512 → 443 [ACK] Послідовність = 320 Ack = 1413 Win = 63540 Len = 0
8 2021-01-09 18:45:14.392680614 104.26.10.240 → 10.0.2.15 TLSv1.3 1160 Дані заявки
9 2021-01-09 18:45:14.392703439 10.0.2.15 → 104.26.10.240 TCP 54 48512 → 443 [ACK] Послідовність = 320 Ack = 2519 Win = 63540 Len = 0
10 2021-01-09 18:45:14.394218934 10.0.2.15 → 104.26.10.240 TLSv1.3 134 Зміна специфікації шифру, дані програми
11 2021-01-09 18:45:14.394614735 104.26.10.240 → 10.0.2.15 TCP 60 443 → 48512 [ACK] Послідовність = 2519 Ack = 400 Win = 65535 Len = 0
Захоплено 11 пакетів

Перегляд цілого пакета:

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

Щоб перевірити цілий пакет, ми використовуємо команду ping з опцією “-c” для захоплення одного пакета.

[захищено електронною поштою]: ~ $ ping -c 1 104.26.10.240
Пінг 104.26.10.240 (104.26.10.240) 56 (84) байтів даних.
64 байта з 104.26.10.240: icmp_seq = 1 ttl = 55 час = 105 мс
--- 104.26.10.240 пінг-статистики ---
1 пакет передано, 1 отримано, 0% втрат пакетів, час 0 мс
rtt min / avg / max / mdev = 105.095/105.095/105.095/0.000 мс

В іншому вікні використовуйте команду tshark з додатковим прапором для відображення всіх деталей пакета. Ви можете помітити різні розділи, де відображуються деталі Frames, Ethernet II, IPV та ICMP.

[захищено електронною поштою]: ~ $ tshark -i enp0s3 -c 1 -V хост 104.26.10.240
Кадр 1: 98 байт на дроті (784 біта), 98 байт захоплених (784 біта) на інтерфейсі 0
Ідентифікатор інтерфейсу: 0 (enp0s3)
Назва інтерфейсу: enp0s3
Тип інкапсуляції: Ethernet (1)
Час прибуття: 9 січня 2021 21:23:39.167581606 ПКТ
[Зсув у часі для цього пакета: 0.000000000 секунд]
Час епохи: 1610209419.167581606 секунд
[Дельта часу від попереднього захопленого кадру: 0.000000000 секунд]
[Дельта часу від попереднього відображеного кадру: 0.000000000 секунд]
[Час з еталону або першого кадру: 0.000000000 секунд]
Номер кадру: 1
Довжина кадру: 98 байт (784 біти)
Довжина захоплення: 98 байт (784 біти)
[Рамка позначена: помилково]
[Фрейм ігнорується: False]
[Протоколи у фреймі: eth: ethertype: ip: icmp: data]
Ethernet II, Src: PcsCompu_17: fc: a6 (08: 00: 27: 17: fc: a6), Dst: RealtekU_12: 35: 02 (52: 54: 00: 12: 35: 02)
Пункт призначення: RealtekU_12: 35: 02 (52: 54: 00: 12: 35: 02)
Адреса: RealtekU_12: 35: 02 (52: 54: 00: 12: 35: 02)
… 1… = біт LG: Локально керована адреса (це НЕ заводська настройка)
… 0… = біт IG: Індивідуальна адреса (одноадресне)
Джерело: PcsCompu_17: fc: a6 (08: 00: 27: 17: fc: a6)
Адреса: PcsCompu_17: fc: a6 (08: 00: 27: 17: fc: a6)
Ідентифікатор інтерфейсу: 0 (enp0s3)
Назва інтерфейсу: enp0s3
Тип інкапсуляції: Ethernet (1)
Час прибуття: 9 січня 2021 21:23:39.167581606 ПКТ
[Зсув у часі для цього пакета: 0.000000000 секунд]
Час епохи: 1610209419.167581606 секунд
[Дельта часу від попереднього захопленого кадру: 0.000000000 секунд]
[Часова дельта від попереднього відображеного кадру: 0.000000000 секунд]
[Час з еталону або першого кадру: 0.000000000 секунд]
Номер кадру: 1
Довжина кадру: 98 байт (784 біти)
Довжина захоплення: 98 байт (784 біти)
[Рамка позначена: помилково]
[Фрейм ігнорується: False]
[Протоколи у фреймі: eth: ethertype: ip: icmp: data]
Ethernet II, Src: PcsCompu_17: fc: a6 (08: 00: 27: 17: fc: a6), Dst: RealtekU_12: 35: 02 (52: 54: 00: 12: 35: 02)
Пункт призначення: RealtekU_12: 35: 02 (52: 54: 00: 12: 35: 02)
Адреса: RealtekU_12: 35: 02 (52: 54: 00: 12: 35: 02)
… 1… = біт LG: Локально керована адреса (це НЕ заводська настройка за замовчуванням)
… 0… = біт IG: Індивідуальна адреса (одноадресне)
Джерело: PcsCompu_17: fc: a6 (08: 00: 27: 17: fc: a6)
Адреса: PcsCompu_17: fc: a6 (08: 00: 27: 17: fc: a6)
... 0… = біт LG: Унікальна глобальна адреса (заводська настройка)
… 0… = біт IG: Індивідуальна адреса (одноадресне)
Тип: IPv4 (0x0800)
Інтернет-протокол, версія 4, Src: 10.0.2.15, літній час: 104.26.10.240
0100… = Версія: 4
… 0101 = Довжина заголовка: 20 байт (5)
Поле диференційованих послуг: 0x00 (DSCP: CS0, ECN: Не-ECT)
0000 00… = Кодова точка диференційованих служб: за замовчуванням (0)
… 00 = Явне сповіщення про перевантаження: Транспорт, що не підтримує ECN (0)
Загальна довжина: 84
Ідентифікація: 0xcc96 (52374)
Прапори: 0x4000, не фрагментувати
0… = Зарезервований біт: Не встановлено
.1… = Не фрагментувати: встановити
… 0… = Більше фрагментів: Не встановлено
… 0 0000 0000 0000 = Зсув фрагмента: 0
Час до життя: 64
Протокол: ICMP (1)
Контрольна сума заголовка: 0xeef9 [перевірка відключена]
[Статус контрольної суми заголовка: не підтверджено]
Джерело: 10.0.2.15
Пункт призначення: 104.26.10.240
Протокол повідомлень керування Інтернетом
Тип: 8 (запит ехо (пінг))
Код: 0
Контрольна сума: 0x0cb7 [правильно]
[Контрольна сума: добре]
Ідентифікатор (BE): 5038 (0x13ae)
Ідентифікатор (LE): 44563 (0xae13)
Порядковий номер (BE): 1 (0x0001)
Порядковий номер (LE): 256 (0x0100)
Мітка часу з даних icmp: 9 січня 2021 21:23:39.000000000 ПКТ
[Відмітка часу з даних icmp (відносна): 0.167581606 секунд]
Дані (48 байт)
0000 91 8e 02 00 00 00 00 00 10 11 12 13 14 15 16 17 ..
0010 18 19 1a 1b 1c 1d 1e 1f 20 21 22 23 24 25 26 27… !"# $% & '
0020 28 29 2a 2b 2c 2d 2e 2f 30 31 32 33 34 35 36 37 () *+,-./ 01234567
Дані: 918e020000000000101112131415161718191a1b1c1d1e1f…
[Довжина: 48]

Висновок:

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

Tshark - це дуже зручна утиліта, яка читає та записує файли захоплення, що підтримуються Wireshark. Поєднання фільтрів відображення та захоплення робить великий внесок у роботу над випадками використання просунутих рівнів. Ми можемо використовувати здатність tshark друкувати поля та маніпулювати даними відповідно до наших вимог до поглибленого аналізу. Іншими словами, він здатний робити практично все, що робить Wireshark. Найголовніше, що він ідеально підходить для віддаленого нюхання пакетів за допомогою ssh, що є темою для іншого дня.

Emulate Mouse clicks by hovering using Clickless Mouse in Windows 10
Using a mouse or keyboard in the wrong posture of excessive usage can result in a lot of health issues, including strain, carpal tunnel syndrome, and ...
Add Mouse gestures to Windows 10 using these free tools
In recent years computers and operating systems have greatly evolved. There was a time when users had to use commands to navigate through file manager...
Control & manage mouse movement between multiple monitors in Windows 10
Dual Display Mouse Manager lets you control & configure mouse movement between multiple monitors, by slowing down its movements near the border. Windo...