1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/calvinwilliams-tcplstat

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

1. Введение

tcplstat — утилита для анализа TCP-соединений, основанная на библиотеке libpcap. Она предоставляет информацию о TCP-сессиях и пакетах, включая данные о состоянии соединения, IP-адресах, портах и другую полезную информацию.

2. Установка

Tcplstat может быть установлен на различных операционных системах, таких как Linux, Windows и AIX. Для установки на Linux необходимо выполнить следующие шаги:

  • Распаковать архив с исходными кодами tcplstat.
  • Изменить файл makeinstall, указав путь к домашней директории пользователя.
  • Выполнить команду make -f makefile.Linux для компиляции программы.
  • Запустить команду make -f makefile.Linux install для установки программы в домашнюю директорию пользователя.

Для установки на Windows необходимо использовать библиотеку winpcap или её аналог.

3. Использование

После установки tcplstat можно использовать для анализа TCP-трафика. Утилита имеет несколько опций, которые позволяют настроить вывод информации. Например, опция -v выводит версию программы, а опция -l выводит список доступных опций.

Опция -i позволяет указать сетевой интерфейс, на котором будет производиться анализ трафика. Опция -f позволяет задать фильтр, который будет использоваться при анализе трафика. Опции -o, --sql, --http, --max-packet-trace-count, --log-file позволяют настроить вывод данных.

4. Заключение

Tcplstat является мощным инструментом для анализа TCP-трафика и может быть использован для различных целей, таких как мониторинг сети, обнаружение аномалий и т. д. Перевод текста:

--sql: Output SQL time elapse
NOTICE: See pcap-filter(7) for the syntax of filter
  • -v — включить подробный вывод.
  • -l — ограничить вывод одной строкой на пакет.
  • -i — интерфейс для мониторинга (например, any).
  • -f — фильтр пакетов (например, tcp port 445).
  • -o — файл журнала (например, E для TCP).
  • --sql — вывод времени выполнения SQL.
  • --http — вывод HTTP.
  • --max-packet-trace-count — максимальное количество пакетов для трассировки.
  • --log-file — имя файла журнала.

ע�⣺ִ��tcplstat��ҪrootȨ�ޡ�

3.2. Пример использования tcplstat для отслеживания TCP-соединений

Запуск tcplstat:

# tcplstat -f "tcp port 445" -o E

Отслеживание соединений через порт 445, связанный с Samba.

$ echo "hello" | nc 114.215.179.129 445

Вывод:

E | 2018-02-07T20:09:21.249992 | LHT[113] | SMAC[] DMAC[] | SIP[114.215.179.129] DIP[114.215.179.129] | SPORT[44200] DPORT[445] SEQ[3750544418] ACKSEQ[0] SYN[1] ACK[0] FIN[0] PSH[0] RST[0] URG[0] | [0]BYTES
E | 2018-02-07T20:09:21.250004 | LHT[113] | SMAC[] DMAC[] | SIP[114.215.179.129] DIP[114.215.179.129] | SPORT[445] DPORT[44200] SEQ[974809372] ACKSEQ[3767321634] SYN[1] ACK[1] FIN[0] PSH[0] RST[0] URG[0] | [0]BYTES
...

Информация о пакетах: время, локальный и удалённый адреса, номера портов, порядковые номера, флаги TCP.

3.3. Пример использования tcplstat для отображения статистики по пакетам

Запуск tcplstat:

# tcplstat -f "tcp port 445" -o SPD

Отслеживание соединений через порт 445, связанный с Samba.

$ echo "hello" | nc 114.215.179.129 445

Вывод:

S | [114.215.179.129:44205]->[114.215.179.129:445] | 2018-02-07T20:20:41.903338 | 0.016535 | 0.000016 0.000015 , 0.000006 0.000741 0.001477 0.000006 0.000749 0.001492 , 0.000036 0.014964 0.000021 | 2 6
P |     2018-02-07T20:20:41.903338 | 0.000000 0.000000 | [114.215.179.129:44205]->[114.215.179.129:445] | S..... 0
P |     2018-02-07T20:20:41.903354 | 0.000016 0.000016 | [114.215.179.129:44205]<-[114.215.179.129:445] | S..A.. 0
...
D |                  0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F    0123456789ABCDEF
D |     0x00000000   68 65 6C 6C 6F 0A                                 hello.          
P |

В этом выводе представлена информация о пакетах, включая время, направление передачи, статистику по задержкам и флаги TCP. Текст запроса определён как язык SQL.

К сожалению, не удалось перевести часть текста. Вот перевод того, что получилось распознать:

2018-02-07T20:20:41.904852 | 0.000006 0.000006 | [114.215.179.129:44205]<-[114.215.179.129:445] | ...A.. 0 P | 2018-02-07T20:20:41.904888 | 0.000036 0.000036 | [114.215.179.129:44205]->[114.215.179.129:445] | .F.A.. 0 P | 2018-02-07T20:20:41.919852 | 0.014964 0.014964 | [114.215.179.129:44205]<-[114.215.179.129:445] | .F.A.. 0 P | 2018-02-07T20:20:41.919873 | 0.000021 0.000021 | [114.215.179.129:44205]->[114.215.179.129:445] | ...A.. 0
...

3.4. Использование SQL

SQL используется для работы с базами данных.

tcplstat — это инструмент командной строки, который позволяет отслеживать и анализировать трафик TCP/IP. Он может быть использован для мониторинга соединений, анализа трафика и выявления проблем с производительностью сети.

Синтаксис команды:

tcplstat -f "tcp port 8432" --sql

Пример использования:

calvin=# \d
                              �����б�
 �ܹ�ģʽ |                   ����                   |  �ͱ�  | ӵ���� 
----------+------------------------------------------+--------+--------
 public   | alphastock_company_info                  | ���ϱ� | calvin
 public   | alphastock_company_ipo                   | ���ϱ� | calvin
 public   | alphastock_stock_code                    | ���ϱ� | calvin
 public   | alphastock_stock_kline                   | ���ϱ� | calvin
 public   | alphastock_stock_kline_max_closing_price | ���ϱ� | calvin
 public   | financing_chinawealth                    | ���ϱ� | calvin
 public   | whoispider_domain                        | ���ϱ� | calvin
(7 �м�¼)

calvin=# select count(*) from alphastock_company_info;
 count 
-------
  3596
(1 �м�¼)

calvin=# select count(*) from alphastock_company_ipo ;
 count 
-------
  3596
(1 �м�¼)

calvin=# select count(*) from alphastock_stock_code ;
 count 
-------
  3596
(1 �м�¼)

calvin=# select count(*) from alphastock_stock_kline ;
  count  
---------
 8826375
(1 �м�¼)

calvin=# select count(*) from financing_chinawealth ;
calvin-# ;
 count  
--------
 168148
(1 �м�¼)

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

Q | 2018-02-07T20:28:07.978745 0.000869 | select count() from alphastock_company_info; Q | 2018-02-07T20:28:10.427744 0.000605 | select count() from alphastock_company_ipo ; Q | 2018-02-07T20:28:12.923744 0.000737 | select count() from alphastock_stock_code ; Q | 2018-02-07T20:28:15.291747 42.884759 | select count() from alphastock_stock_kline ; Q | 2018-02-07T20:29:35.218747 3.505407 | select count(*) from financing_chinawealth ; ...

Анализ запросов показывает, что команда SQL select count(*) from используется для подсчёта количества записей в таблице. В запросах также указаны временные метки и время выполнения команд.

Например, команда select count(*) from alphastock_stock_kline занимает 42,88 миллисекунды, а команда select count(*) from financing_chinawealth выполняется за 3,5 миллисекунды. Это позволяет оценить производительность запросов и выявить возможные проблемы с производительностью.

4. Заключение

Это всё, что удалось распознать.

Примечание: текст переведён с помощью онлайн-переводчика.

Комментарии ( 0 )

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

Введение

Описание недоступно Развернуть Свернуть
C и 3 других языков
LGPL-2.1
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/calvinwilliams-tcplstat.git
git@api.gitlife.ru:oschina-mirror/calvinwilliams-tcplstat.git
oschina-mirror
calvinwilliams-tcplstat
calvinwilliams-tcplstat
release