Большой Воронежский Форум
Страница 2 из 2
< 12
» Техническая поддержка>Помогите плиз!!!!!
Hip-Hop 21:33 21.01.2012

Сообщение от X0R:
Катюш, я же не африка...

а я что? Африка? это все глупости. Такого ты уже не сделаешь в powershell? А почему? Если до этого ты мог обходиться командами типа Select-String, то тут, в windows, просто нету iptables. Это упрощённый вариант модуля iptables geoip сделаны на bash http://welinux.ru/post/2545/:

Код:
#!/bin/bash
#
TMPDIR=/tmp/geoiptban
IP_BBASE=$TMPDIR/bbase.csv
IP_EBASE=$TMPDIR/ebase.csv
DB_ZIP=$TMPDIR/db.zip
PERL=/usr/bin/perl
FILE_BCOUNTRY=$1
COUNTRY_DB_URL=http://geolite.maxmind.com/download/geoip/database/GeoIPCountryCSV.zip
mkdir -p $TMPDIR
# Стягиваем и распаковываем базу айпишников.
wget -q -O $DB_ZIP $COUNTRY_DB_URL
unzip -p $DB_ZIP > $IP_BBASE
# Убираем лишние символы из базы, для простоты обработки.
if [ -e "$IP_BBASE" ]
then
        cp $IP_BBASE $IP_EBASE
        $PERL -pi -e 's/"//g' $IP_EBASE
else
        echo "Source ip-base-file not found."
        exit 0;
fi
# Обработка базы. Форматируем базу сперва в вид диапазонов ip-адресов, а потом в список подсетей.
# Получившиеся подсети скармливаем iptables'у.
if [ -e "$FILE_BCOUNTRY" ]
then
        for country in $(cat ${FILE_BCOUNTRY})
        do
                grep $country $IP_EBASE | awk -F "," '{print $1," - ",$2}' > $TMPDIR/$country.il
                for ((i=1;i<=$(wc -l ${TMPDIR}/${country}.il | awk '{print $1}');i++))
                do
                        ipcalc $(head -n ${i} ${TMPDIR}/${country}.il | tail -n 1) | grep -v deaggregate >> $TMPDIR/$country.nl
                done
        done
        for country_network_list in $(ls ${TMPDIR} | grep nl)
        do
                for ((i=1;i<=$(wc -l ${TMPDIR}/$country_network_list | awk '{print $1}');i++))
                do
                        iptables -t filter -A INPUT -s $(head -n ${i} ${TMPDIR}/$country_network_list | tail -n 1) -j DROP
                done
        done
else
        echo "List of blocked countries not found."
        exit 0;
fi
rm -rf $TMPDIR
[Ответ]
silly 21:42 21.01.2012
Так не пойдет. И perl и awk являются гораздо более выразительными языками, чем bash. Давай вариант без них. [Ответ]
Hip-Hop 21:42 21.01.2012
X0R, то-есть, у тебя получается, что вроде бы "мощный язык" системного автоматизирования есть, а применить его не с чем. [Ответ]
Hip-Hop 21:46 21.01.2012

Сообщение от silly:
И perl и awk являются гораздо более выразительными языками, чем bash.

суть не в том,

Сообщение от Hip-Hop:
if [ -e "$IP_BBASE" ] then cp $IP_BBASE $IP_EBASE $PERL -pi -e 's/"//g' $IP_EBASE else echo "Source ip-base-file not found." exit 0;

тут можно обойтись без perl, а в другом моменте без awk, но сути дела это не меняет:

Сообщение от Hip-Hop:
X0R, то-есть, у тебя получается, что вроде бы "мощный язык" системного автоматизирования есть, а применить его не с чем.

[Ответ]
silly 21:48 21.01.2012
Разумней обойтись без bash'а (и без PowerShell, раз уж на то пошло), дорогие мои любители кактусов. [Ответ]
Hip-Hop 21:54 21.01.2012

Сообщение от silly:
Разумней обойтись без bash'а (и без PowerShell, раз уж на то пошло), дорогие мои любители кактусов.

разумней всего - да, обойтись модулем geoip iptables который включен в xtables-addons. Хотя кто знает.... Куда включена ещё куча разных КРУТЫХ штук, но для общего представления несостоятельности и полной бесполезности (фактически) powershell - вполне, imho. [Ответ]
silly 21:57 21.01.2012
Любой шелл годится только для интерактивного использования, имхо. Скриптами меряться абсолютно бессмысленно. [Ответ]
Hip-Hop 22:04 21.01.2012

Сообщение от silly:
Любой шелл годится только для интерактивного использования, имхо. Скриптами меряться абсолютно бессмысленно.

да шелл никогда и не являлся языком, и сравнивать его с высокоуровневыми языками нельзя (питот, сишарп, пёрл и тд). шелл это системная оболочка автоматизирования прикладных задач. Само собой вкупе с системным утилитами которые изначально были ориентированы на использование в этой среде. [Ответ]
X0R 22:06 21.01.2012

Сообщение от Hip-Hop:
а я что? Африка?

самая настоящая Африка. И никакой ты не хип-хоп. Привет бабушке!

Сообщение от Hip-Hop:
Такого ты уже не сделаешь в powershell?

что делает твой скрипт?

Сообщение от :
function Add-FirewallRule {
param(
$name,
$tcpPorts,
$appName = $null,
$serviceName = $null
)
$fw = New-Object -ComObject hnetcfg.fwpolicy2
$rule = New-Object -ComObject HNetCfg.FWRule

$rule.Name = $name
if ($appName -ne $null) { $rule.ApplicationName = $appName }
if ($serviceName -ne $null) { $rule.serviceName = $serviceName }
$rule.Protocol = 6 #NET_FW_IP_PROTOCOL_TCP
$rule.LocalPorts = $tcpPorts
$rule.Enabled = $true
$rule.Grouping = "@firewallapi.dll,-23255"
$rule.Profiles = 7 # all
$rule.Action = 1 # NET_FW_ACTION_ALLOW
$rule.EdgeTraversal = $false

$fw.Rules.Add($rule)
}
# Sample Usage
Add-FirewallRule "Test port 1234" "1234" $null $null
Add-FirewallRule "Test port 5555-6666" "5555-6666" $null $null
Add-FirewallRule "Test port 2222 Calc" 2222 "c:\windows\system32\calc.exe" $null
Add-FirewallRule "Test port 3333 W3SVC" 3333 $null "W3SVC"

гляди как может PowerShell http://blogs.msdn.com/b/tomholl/arch...owershell.aspx

Сообщение от Hip-Hop:
то-есть, у тебя получается, что вроде бы "мощный язык" системного автоматизирования есть, а применить его не с чем.

почитай о применении PowerShell

Кстати, как ты будешь работать с OpenOffice из bash? Я уже не первый раз тебя об этом спрашиваю [Ответ]
Hip-Hop 22:13 21.01.2012

Сообщение от X0R:
что делает этот скрипт?

это какая-то функция которая добавляет куда-то какие-то правила? Синтаксис вымораживает мозг.

Например:


Сообщение от X0R:
Add-FirewallRule "Test port 2222 Calc" 2222 "c:\windows\system32\calc.exe" $null



Сообщение от X0R:
Кстати, как ты будешь работать с OpenOffice из bash? Я уже не первый раз тебя об этом спрашиваю

А что надо? (Пропустил мимо ушей)
[Ответ]
X0R 22:18 21.01.2012

Сообщение от Hip-Hop:
это какая-то функция которая добавляет куда-то какие-то правила?

я про твой скрипт спрашивал

Сообщение от Hip-Hop:
Синтаксис вымораживает мозг.

ты про bash?

Сообщение от Hip-Hop:
А что надо? (Пропустил мимо ушей)

из имеющихся текстовых файлов, подготовить соответствующим образом отформатированные документы.
[Ответ]
silly 22:22 21.01.2012
У меня есть кое-что для OpenOffice: https://gist.github.com/1653654 . Самому вариант под линукс интересен. (Не, на самом деле нет.) [Ответ]
Hip-Hop 22:22 21.01.2012

Сообщение от X0R:
гляди как может PowerShell http://blogs.msdn.com/b/tomholl/arch...owershell.aspx

и ты действительно уверен, что эта жалкая какашка чем-то похожа на возможности iptables? Вот например, windows fw включает трассировку соединений? И ты наверное из своего жалкого powershell'а можешь до неё достучаться? X0R, напиши мне хоть одно правило с трассировкой соединения (по флагам в пакете). [Ответ]
Hip-Hop 22:24 21.01.2012

Сообщение от X0R:
я про твой скрипт спрашивал

этот скрипт парсит базу geoip и загружает её в iptables. Например все китайские ip будут забанены. [Ответ]
X0R 22:29 21.01.2012

Сообщение от silly:
У меня есть кое-что для OpenOffice:

это же не баш)

Сообщение от Hip-Hop:
напиши мне хоть одно правило с трассировкой соединения (по флагам в пакете)

практическое применение?

iptables в винде конечно же нет, но вот удивительно, люди как то обходятся без нее.

Что может предоставить линукс кроме парсинга текстового вывода утилит командной строки и передачи параметров этим утилитам? В винде есть powershell, WMI, c помощью которых прекрасно решаются задачи по автоматизации. [Ответ]
silly 22:30 21.01.2012
Это jscript, естественно. [Ответ]
Hip-Hop 22:37 21.01.2012

Сообщение от X0R:
практическое применение?

iptables -P INPUT DROP
iptables -A INPUT -p ALL -i $EXT -m state --state ESTABLISHED,RELATED -j ACCEPT ?

X0R, то-есть, мы запрещаем любые входящие, но разрешаем уже установленные соединения.

Сообщение от X0R:
из имеющихся текстовых файлов, подготовить соответствующим образом отформатированные документы.

приведи пример на powershell, чтобы я понял отчего плясать.


На хабре на bash игры вон пишут, а чё там какой-то документ отформатировать - сделаем.
[Ответ]
X0R 23:08 21.01.2012

Сообщение от Hip-Hop:
приведи пример на powershell, чтобы я понял отчего плясать.

Сообщение от :
for($i = 0; $i -le $lines.Length; $i++)
{
if ($lines[$i].IndexOf(" ") -eq -1)
{$text.AppendLine($lines[$i])}
else
{$i += 4}
}
$rng = $gkK.Range([ref]0, [ref]0)
$rng.Text = $text
$start = $gkK.Content.Start
$end = $gkK.Content.End
$rng = $gkK.Range([ref]$start, [ref]$end)
$gkK.Content.Select()
$oWord.Selection.Font.Name = "Courier New"
$oWord.Selection.Font.Size = 10
$oWord.Selection.ParagraphFormat.SpaceBefore = 0
$oWord.Selection.ParagraphFormat.SpaceAfter = 0
$oWord.Selection.ParagraphFormat.LineSpacing = 12
$gkK.PageSetup.LeftMargin = $pntInCm * 1
$gkK.PageSetup.RightMargin = $pntInCm * 1
$gkK.PageSetup.TopMargin = $pntInCm * 1
$gkK.PageSetup.BottomMargin = $pntInCm * 1
$gkK.SaveAs([ref][System.String]::Concat($gkDataDir, "\К-", $gkNum, ".doc"), [ref]$docFormat)

пляши [Ответ]
X0R 23:10 21.01.2012

Сообщение от Hip-Hop:
На хабре на bash игры вон пишут

на cmd (который не чета PowerShell ) тоже http://habrahabr.ru/blogs/crazydev/75649/ [Ответ]
Hip-Hop 23:18 21.01.2012

Сообщение от X0R:
пляши

ок, посмотрю.


Сообщение от X0R:
на cmd (который не чета PowerShell ) тоже

а такое слабо - http://habrahabr.ru/blogs/crazydev/131331/ ? [Ответ]
X0R 23:30 21.01.2012

Сообщение от Hip-Hop:
а такое слабо

Сообщение от :
Если бы я сразу учел, что кодов операций за две сотни, то не стал бы писать эмулятор

я этим заниматься не буду Что из использованного в этом скрипте принципиально нельзя сделать в винде? [Ответ]
Hip-Hop 23:41 21.01.2012

Сообщение от X0R:
Что из использованного в этом скрипте принципиально нельзя сделать в винде?

это я пошутил.

Сообщение от X0R:
из имеющихся текстовых файлов, подготовить соответствующим образом отформатированные документы.

Относительно сабжа - http://wiki.services.openoffice.org/...on/BASIC_Guide ?

Достаточно простой встроенный язык который позволяет форматировать входные данные хоть с консоли. [Ответ]
X0R 23:43 21.01.2012

Сообщение от Hip-Hop:
Относительно сабжа

а сможешь ли ты использовать этот API из bash? [Ответ]
Hip-Hop 23:51 21.01.2012

Сообщение от X0R:
а сможешь ли ты использовать этот API из bash?

а что под этим понимается? Например bash скрипт формирует информацию, например это какой-то текстовый вывод. (файл). Скрипт - макрос на Ooo basic разбирает этот файл в соответствии со своими требованиями. Такое возможно. Мне кажется твой пример делает что-то подобное. [Ответ]
X0R 00:02 22.01.2012

Сообщение от Hip-Hop:
а что под этим понимается?

далеко не каждая программа понимает автоматизацию с помощью Basic. Возможности PowerShell шире, он позволяет использовать любые COM объекты. Запись же необходимых действий в макрос это костль. Мы можем передать необходимый запуск при старте приложения. А если мы хотим работать с уже открытым документом? Например динамически внося получаемую информацию. Каждый раз будем генерировать макрос и пероткрывать документ? [Ответ]
Hip-Hop 00:36 22.01.2012

Сообщение от X0R:
А если мы хотим работать с уже открытым документом? Например динамически внося получаемую информацию. Каждый раз будем генерировать макрос и пероткрывать документ?

надо посмотреть на этот ooo basic, скачал мануал по нему, он может работать с базами данных (mysql). Надо почитать.

Сообщение от X0R:
Каждый раз будем генерировать макрос и пероткрывать документ?

нарисовать кнопку и выбирать данные из mysql - рефреш называется , штука. надо почитать. [Ответ]
Hip-Hop 00:56 22.01.2012
X0R, вот даже так:

[Ответ]
X0R 01:04 22.01.2012
Hip-Hop, запиши макрос в ОО и посмотри какой скрипт он сгенерирует. [Ответ]
Страница 2 из 2
< 12
Вверх