Какой из этих языков сценариев более подходит для тестирования пера? [закрытый]

Вот способ сделать это, используя пакет zoo.

R-код:

library(zoo)
df
#      Date Arrivals
# 1 2014-07      100
# 2 2014-08      150
# 3 2014-09      200

df$Date <- as.Date(as.yearmon(df$Date), frac = 1)

# output
#         Date Arrivals
# 1 2014-07-31      100
# 2 2014-08-31      150
# 3 2014-09-30      200
5
задан the Tin Man 5 November 2012 в 17:03
поделиться

11 ответов

Вы, вероятно, хотите Ruby, потому что это - родной язык для Metasploit, который является фактической стандартной платформой тестирования на возможность проникновения с открытым исходным кодом. Попытка Ruby дать Вам:

  • Платформа Metasploit, код операции и shellcode базы данных
  • Ruby Metasploit lorcon привязка для сырых данных 802,11 работы.
  • Привязка КАРМЫ Metasploit для 802,11 клиентских перенаправлений.
  • Libcurl и net/http для записи веб-инструмента.
  • EventMachine для веб-прокси и работы fuzzing (или RFuzz, который расширяет известный веб-сервер Полукровки).
  • Metasm для shellcode поколения.
  • Distorm для x86 дизассемблирования.
  • BinData для формата двоичного файла fuzzing.

Второе место здесь переходит к Python. Существует больше pentesting библиотек, доступных в Python, чем в Ruby (но недостаточно смещать Metasploit). Коммерческие инструменты имеют тенденцию поддерживать Python также---, если Вы - ХОЛСТ Неприкосновенности или БАЗОВЫЙ клиент Влияния, Вы хотите Python. Python дает Вам:

  • Скрученный для доступа к сети.
  • PaiMei для трассировки программы и программируемой отладки.
  • ХОЛСТ и поддержка Влияния.
  • firewire библиотеки Dornseif для удаленной отладки.
  • Готовая интеграция с WinDbg для удаленного ядра Windows, отлаживающего (нет все еще никакого хорошего ответа в Ruby для отладки ядра, которая является, почему я все еще иногда использую Python).
  • Персик Fuzzer и Sully для fuzzing.
  • SpikeProxy для веб-тестирования на возможность проникновения (также, OWASP Pantera).

Неудивительно, большая веб-работа использует инструменты Java. Фактическая стандартная сеть pentest инструмент является Пакетом Отрыжки, который является приложением колебания Java. И Ruby и Python имеют варианты Java, которые можно использовать для получения доступа к инструментам как этот. Кроме того, и Ruby и предложение Python:

  • Прямая интеграция с libpcap для необработанной пакетной работы.
  • Привязка OpenSSL для crypto.
  • IDA Pro расширения.
  • Сформировавшийся (или по крайней мере разумный) C внешняя функция взаимодействует через интерфейс для доступа API.
  • WxWindows для работы UI и достойная сеть складывают для веб-UIs.

Вы не собираетесь идти не так, как надо с любым языком, хотя для господствующей тенденции pentest работа, Metasploit, вероятно, вычеркивает все преимущества Python, и в настоящее время, для реверсивной работы x86, превосходящие интерфейсы отладки Python вычеркивают все преимущества Ruby.

Также: это - 2008. Они не "языки сценариев". Они - языки программирования.;)

27
ответ дан 18 December 2019 в 05:14
поделиться

Ну, о каком использовании Вы думаете? Если Вы захотите записать что-то, чему нужен низкоуровневый материал (ptrace, неструктурированные сокеты, то и т.д.) затем необходимо будет изучить C. Но и Perl и Python могут использоваться. Реальный вопрос - какой удовлетворяет Вашему стилю больше?

Что касается toolmaking, Perl имеет хорошие обрабатывающие строку способности, ближе к системе, имеет хорошую поддержку, но по моему скромному мнению это очень сбивает с толку. Я предпочитаю Python: это - чистое, простое в использовании, легкое для изучения языка с хорошей поддержкой (полная ссылка языка/lib, третья сторона освобождает, и т.д.). И это (строго, по моему скромному мнению) прохладно.

0
ответ дан 18 December 2019 в 05:14
поделиться

При поиске языка сценариев, который будет играть хорошо с Java, Вы могли бы хотеть посмотреть на Groovy. Это имеет гибкость и питание Perl (закрытия, созданные в regexes, ассоциативных массивах на каждом углу), но можно получить доступ к коду Java от него таким образом, у Вас есть доступ к огромному количеству библиотек и в особенности остальная часть системы, которую Вы разрабатываете.

1
ответ дан 18 December 2019 в 05:14
поделиться

metasploit является большой платформой для тестирования на возможность проникновения. Это главным образом записано в Ruby, поэтому если Вы знаете, что язык хорошо, возможно, можно сцепиться там. Однако для использования metasploit Вы не должны знать язык вообще.

1
ответ дан 18 December 2019 в 05:14
поделиться

Все они должны быть достаточными для этого. Если Вам не нужна некоторая библиотека, которая только доступна на одном языке, я позволил персональному предпочтению вести меня.

1
ответ дан 18 December 2019 в 05:14
поделиться

Если бы Вы планируете использование Metasploit для тестирования пера и используете разработку, я рекомендовал бы рубин, как упомянуто ранее, Metasploit записан в рубине и любом использовании/разработке модулей, которое можно хотеть сделать, потребует рубина.

Если бы Вы будете использовать ХОЛСТ Неприкосновенности для пера, тестирующего затем по тем же причинам, я рекомендовал бы Python, поскольку ХОЛСТ записан в Python. Также выделите fuzzing платформ как Peach, и Sulley записаны в Python.

Я не рекомендовал бы Perl, поскольку Вы найдете очень небольшие инструменты/сценарии/платформы связанными с пером testing/fuzzing/exploits/... в Perl.

Поскольку Вашим вопросом является "запись инструмента и разработка использования", я рекомендовал бы Ruby, если Вы выбираете Metasploit или Python при выборе CANVAS.

надежда, которая помогает :)

3
ответ дан 18 December 2019 в 05:14
поделиться

Я мог привести аргумент в пользу всех трех :-)

Perl имеет все CPAN - предоставление Вам огромное преимущество в сплачивающейся функциональности быстро. Это также имеет хорошую гибкую инфраструктуру тестирования, которая означает, что можно включить много различных автоматизированных стилей тестирования (включая тесты на других языках) в той же платформе.

Ruby является прекрасным языком для изучения - и испытывает недостаток в части хлама в Perl 5. При выполнении веб-тестирования, оно также имеет водную библиотеку - который является trez полезный (см. http://wtr.rubyforge.org/),

Python - хороший язык и (в то время как это не к моему персональному предпочтению) некоторый народ находит путь его структурированным более легким для понимания с.

Любой из них (и многие другие) был бы большим языком для изучения.

Вместо того, чтобы смотреть на язык - я посмотрел бы на Вашу рабочую среду. Всегда легче изучить материал, если у Вас есть другие люди вокруг того, которые делают подобный материал. Если бы Вы, текущие dev/testing люди уже фокусируются на одном из вышеупомянутого - я пошел бы для этого. В противном случае выберите тот, который был бы самым применимым/полезным к Вашей текущей рабочей среде. Чат к остальной части Вашей команды и видит то, что они думают.

4
ответ дан 18 December 2019 в 05:14
поделиться

Это зависит от реализации, если бы она будет распределена, я пошел бы с Java, видя, как Вы знаете что из-за его мобильности. Если это только для внутреннего пользования или будет использоваться в полууправляемых средах, то пойдите с тем, что Вы - самое удобное поддержание, и какой бы ни имеет лучшую долгосрочную перспективу.

Теперь, чтобы просто ответить на вопрос я пошел бы с Perl, но я - парень Linux, таким образом, я могу быть немного смещен в этом.

3
ответ дан 18 December 2019 в 05:14
поделиться

[Правовая оговорка: Я - прежде всего, программист Perl, который может окрашивать мое решение. Однако я не особенно племенной, и я думаю по этому конкретному вопросу, мой аргумент довольно объективен.]

Perl был разработан для смешивания беспрепятственно со средой Unix, и именно поэтому это чувствует себя таким образом чуждым людям с фоном главным-образом-OO (особенно школа Java ООП). По этой причине, тем не менее, это невероятно широко установлено на машинах с любым видом ОС Unixoid, и много системных утилит поставщика записаны в нем. Также по той же причине, серверы, которые не имеют ни Python, ни установленного Ruby, вероятно, будут, все еще иметь Perl на них, снова делая важным иметь некоторое знакомство с. Таким образом, если Ваше действие CEH включает обширное действие по Unix, у Вас должна будет быть некоторая сумма знакомства с Perl так или иначе, и Вы могли бы также сфокусироваться на нем.

Тем не менее это - в основном вопрос предпочтения. Нет очень для дифференциации языков; их выразительное питание фактически идентично. Некоторые вещи немного легче на одном из языков, некоторые немного легче в другом.

С точки зрения библиотек я не знаю, как Ruby и Python выдерживают сравнение друг с другом – я действительно знаю, что Perl сделал, чтобы они бились полем. С другой стороны иногда (особенно при поиске библиотек для общих потребностей) единственный эффект этого состоит в том, что Вы затоплены с выбором. И если Вы только надеетесь делать вещи в некоторой конкретной области, которая хорошо покрыта библиотеками для Python или Ruby, масса другого материала на CPAN является не обязательно преимуществом. В нишевых областях, однако, это имеет значение, и Вы никогда не знаете, какую непредвиденную потребность Вы будете в конечном счете иметь (допустите ошибку, по определению).

Для использования остроты на командной строке Python своего рода обречен на неудачу.

С точки зрения интерактивной среды интерпретатора, Perl … uhm … хорошо, можно использовать отладчик, который не является настолько большим, или можно установить один от CPAN, но Perl не поставляет сам хороший.

Таким образом, я думаю, что Perl действительно имеет очень небольшой край для Ваших потребностей, в частности, но только что. При выборе Ruby, Вы, вероятно, не окажетесь в худшем положении вообще. Python мог бы причинить беспокойство Вам немного более заметно, но это также - едва плохой выбор.

8
ответ дан 18 December 2019 в 05:14
поделиться

При разговоре как CEH изучите материал CEH сначала. Это подвергнет Вас множеству инструментов, и платформы раньше монтировали различные виды нападений. После того как Вы понимаете свою цель хорошо, изучаете возможности инструментов, и платформы, уже доступные (ранее упомянутая metasploit платформа очень полна и устойчива). Как они могут быть расширены для удовлетворения потребностей? После того как Вы знаете, что, можно сравнить возможности языков.

Я также рекомендовал бы смотреть на инструменты, доступные на дистрибутиве BackTrack.

2
ответ дан 18 December 2019 в 05:14
поделиться

Если вас интересует CEH, я бы взглянул на Grey Hat Python. Там показаны довольно интересные и связанные вещи.

С другой стороны, любой язык должен быть в порядке.

1
ответ дан 18 December 2019 в 05:14
поделиться
Другие вопросы по тегам:

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