Сниффинг сокета TCP Java

Кажется, эта ошибка говорит о том, что df не содержит ключ с именем 'event_name'. Ошибка также может быть связана с тем, что i не существует в df['event_name'], но, похоже, вы ожидаете, что эта коллекция будет списком, а не картой.

Я вижу потенциальную проблему в вашей логике. Вы выполняете итерацию, основываясь на длине df, но затем вы ссылаетесь на другой список в вашем цикле, df['event_name']. Я не понимаю, где должны быть связаны длины этих двух списков. Может быть, вы хотите for i in range(len(df['event_name'])? - из вашего кода длина df не кажется ценной величиной, поскольку это карта, и вы явно ссылаетесь на ключи этой карты.

Трудно понять, что происходит, потому что вы не показываете, что такое df. Я бы посоветовал вам запустить код в отладчике, остановиться на этой строке и посмотреть, что df содержит в этой точке.

6
задан user57175 26 February 2009 в 13:20
поделиться

4 ответа

Если Вы - некоторое кодирование (и не просто выполнение wireshark/tcpdump) затем, у Вас есть немного вариантов. Если Вы хотите, придерживаются Java, то единственная (?) опция использовать неструктурированные сокеты через JNI и существует немного библиотек, которые могут помочь, например:

  • jNetPcap - обертка вокруг собственных libpcap/winpcap библиотек, выставляя все их функции и структуры
  • RockSaw - API для использования неструктурированных сокетов
4
ответ дан 8 December 2019 в 16:10
поделиться

Я предлагаю использовать Wireshark. Это просто в использовании и работает на многих платформах.

http://www.wireshark.org/

7
ответ дан 8 December 2019 в 16:10
поделиться

Самый легкий путь состоит в том, чтобы заменить InputStream/OutputStream от сокета в одной из программ с реализацией прокси это или печатает/регистрирует или "Тис" к оригиналу и поток печати/журнала.

Но существует много снифферов там, если Вы действительно хотите стать грязными.

1
ответ дан 8 December 2019 в 16:10
поделиться

Если Вы не возражаете спускаться и грязный с командной строкой, Вы могли бы попробовать netcat. Это позволит Вам послушать на порте и вывести вывод в файл, если Вам нравится.
Можно также заставить его отправить поддельные данные и записать ответ.

Я часто использую его в качестве симулировать Прокси HTTP (и настраиваю Firefox для использования его) обнаружить, что отправляется по проводу.

1
ответ дан 8 December 2019 в 16:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: