Помогите считать плоский файл в Unix и произвести к упрощенному csv как формат для импорта в Excel

Просмотрели ли Вы набор правил по новым угрозам? В частности, их правила сканирования ?

Вы никогда не обнаружите сканирование с 100% точностью. Вообще говоря, установление пороговых значений полезно. На пограничных брандмауэрах в большой сети я смотрю, например, на количество отдельных хостов, с которыми связался какой-то удаленный хост за определенный период. На одном хосте - количество отдельных портов на этом хосте за определенный период. На передней панели iptables хорошим вариантом является регистрация пакетов DROPED. Ты тоже можешь сделать это в сопле. Основная идея заключается в отслеживании некоторых портов, которые не открыты. Контакт с этими портами по определению является незапрошенным. (Хорошо, так что это немного отклоняется от цели просто обнаружения сканирования nmap...)

-121--89382-

Вы хотите обнаружить сканирование NMAP в качестве академического упражнения или пытаетесь обнаружить злоумышленников, выполняющих сканирование порта? Последнее может быть чрезвычайно сложным, так как злоумышленник может замедлить сканирование и/или распределить сканирование по нескольким клиентам, чтобы победить любую эвристику, которую вы можете реализовать. Итак, имейте в виду, что если это ваша цель, вы идете «вниз по кроличьей норе»: -\

Во-вторых, и вы просто заинтересованы в возможности обнаружения сканирования или вы заинтересованы в основных подробностях того, как это может быть достигнуто? Другими словами, вы просто хотите сделать это или вы изучаете эту тему?

Для первых, есть различные IDS инструменты, которые вы можете установить, такие как Snort и Bro, и многочисленные коммерческие предложения. Однако они, скорее всего, смогут обнаружить только некоторые типы сканирования, например, сканирование монотонно увеличивающихся номеров TCP-портов.

Для последнего, если вы хотите понять, какой сетевой трафик генерируется при типичном сканировании NMAP, чтобы затем можно было искать эти узоры, то я предлагаю запустить NMAP - возможно, через небольшое количество портов - и изучить трафик, который он генерирует, используя средство поиска, такое как tcpdump. Затем можно внедрить сигнатуры/правила в любой создаваемой системе.

Надеюсь, это поможет!

-121--89383-

Вы можете использовать sed в следующих путях:

sed '/paris\|london\|rome\|pais/Id' cities

I указывает на несоответствие регистра d означает удаление каждой соответствующей строки в образец пространстве.

0
11.02.2015, 08:35
2 ответа

Есть пара хитрых Вещи с CSV: поле содержит встроенный сепаратор поле, или поле содержит встроенные кавычки. Я добавил 2 строки к вашим образцам данных:

TEST_AB.foo " with "embedded quotes" here
TESTRICU=L.foo " with an inner; semicolon

и страшный раствор Perl: сохранить это в файле с именем «Text2CSV.SH»

#!/bin/sh
perl -lne '
      @F = split /\s*"\s*/, $_, 2;
      ($record, $field) = split /\./, $F[0];
      $fields{$field} = 1;
      $records{$record} = 1;
      $data{$record}{$field} = $F[1];
  } END {
      print join ";", "RECORDNAME", keys %fields;
      for my $rec (keys %records) {
          print join";", $rec, map {
                                   $q=0;
                                   if (/"/) {s/\"/\"\"/g; $q=1}
                                   if (/;/) {$q=1}
                                   $q ? qq{"$_"} : $_
                               } @{$data{$rec}}{keys %fields};
      }
' "$1" > "$1.csv"

и запустить его так:

sh text2csv.sh /path/to/myfile.txt
cat /path/to/myfile.txt.csv
RECORDNAME;PERATIO;NAVALUE_1;ISSUE_PRC;BCKGRNDPAG;GEN_VAL2;SPARE_NM2;GEN_VAL3;COUPN_RATE;DSPLY_NAME;CLOSE_BID;NAVALUE;VALOREN_NO;TRDTIM_1;PRTY_PRICE;ISSUE_DATE;RECORDTYPE;OFFCL_CODE;MID_PRICE;BID;TRDPRC_1;ASK;ACTIV_DATE;STRIKE_PRC;HSTCLSDATE;ASK_YIELD;MATUR_DATE;NAV_NETCHN;NAVDATE;PCTCHNG;TRADE_DATE;BIDSIZE;NAVDAT_1;ASKSIZE;MKT_MKR_NM;foo;OPEN_PRC;NETCHNG_1;BID_YIELD;RDNDISPLAY;YIELD;CURRENCY;TIMACT;GEN_VAL1;HST_CLOSE;PUTCALLIND;CLOSE_ASK;SPARE_NM3;BOND_TYPE;SPARE_NM1;SETTLEDATE;EUROCLR_NO;GEN_VAL4;CEDEL_NO
TESTRICU=L;;;;;;;;+4;TEST;;;100;;;01 Jan 2004;;1003;;;;0;;;;;31 Dec 1906;;;;;;;;;"with an inner; semicolon";;;;;;GBP;;;;;;;;;;;;
TEST_AB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"with ""embedded quotes"" here";;;;;;;;;;;;;;;;;;
2
28.01.2020, 02:28

Если вам нравится awk :

awk -F' *[."]' '
{
    FName[$2]=1
    RName[$1]=1
    Data[$1,$2]=$3
}
END{
    printf("%s;","RECORDNAME")
    for (f in FName)
        printf ("%s;",f)
    print ""
    for (i in RName){
        printf ("%s",i)
        for (j in FName)
            printf ("%s;",Data[i,j])
        print ""
        }
}' text.file

Выходы:

RECORDNAME;BID_YIELD;PCTCHNG;NAVALUE_1;EUROCLR_NO;ACTIV_DATE;MKT_MKR_NM;PRTY_PRICE;NAV_NETCHN;ASKSIZE;TRDTIM_1;HST_CLOSE;CLOSE_BID;SPARE_NM1;CURRENCY;SPARE_NM2;SPARE_NM3;TRDPRC_1;NAVDATE;DSPLY_NAME;CLOSE_ASK;OPEN_PRC;MATUR_DATE;BCKGRNDPAG;STRIKE_PRC;OFFCL_CODE;ASK_YIELD;ISSUE_PRC;VALOREN_NO;BOND_TYPE;ISSUE_DATE;PUTCALLIND;RDNDISPLAY;BID;MID_PRICE;COUPN_RATE;RECORDTYPE;ASK;NAVALUE;TIMACT;YIELD;NETCHNG_1;PERATIO;SETTLEDATE;HSTCLSDATE;NAVDAT_1;GEN_VAL1;GEN_VAL2;CEDEL_NO;GEN_VAL3;GEN_VAL4;BIDSIZE;TRADE_DATE;
TEST_AB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
TESTRICU=L;;;;;;;;;;;;;GBP;;;;;TEST;;;31 Dec 1906;;;1003;;;100;;01 Jan 2004;;;;;+4;;0;;;;;;;;;;;;;;;;
1
28.01.2020, 02:28

Теги

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