AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

    • 主页
    • 系统&网络
    • Ubuntu
    • Unix
    • DBA
    • Computer
    • Coding
    • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / user-242469

Zareh Kasparian's questions

Martin Hope
Zareh Kasparian
Asked: 2022-02-13 11:40:35 +0800 CST

python中字符串的多部分选择

  • 1

我有一个日志文件如下:

12-02-2022 15:18:22 +0330 SOCK5.6699 00000 user144 97.251.107.125:38605 1.1.1.1:443 51766 169369 0 CONNECT 1.1.1.1:443
12-02-2022 15:18:27 +0330 SOCK5.6699 00094 user156 32.99.193.2:51242 1.1.1.1:443 715 388 0 CONNECT 1.1.1.1:443
12-02-2022 15:18:56 +0330 SOCK5.6699 00000 user105 191.184.66.98:40048 1.1.1.1:443 18105 29029 0 CONNECT 1.1.1.1:443
12-02-2022 15:18:56 +0330 SOCK5.6699 00000 user105 191.184.66.98:40070 1.1.1.1:443 674 26805 0 CONNECT 1.1.1.1:443
12-02-2022 15:20:24 +0330 SOCK5.6699 00000 user143 112.199.63.119:60682 1.1.1.1:443 475 445 0 CONNECT 1.1.1.1:443
12-02-2022 15:20:37 +0330 SOCK5.6699 00000 user105 191.184.66.98:40102 1.1.1.1:443 12913 18780 0 CONNECT 1.1.1.1:443
12-02-2022 15:20:42 +0330 SOCK5.6699 00000 user143 112.199.63.119:60688 1.1.1.1:443 4530 34717 0 CONNECT 1.1.1.1:443
12-02-2022 15:20:44 +0330 SOCK5.6699 00000 user127 212.167.145.49:2972 1.1.1.1:443 827 267 0 CONNECT 1.1.1.1:443

我的目标是提取此日志文件的两个部分:

  1. 用户名
  2. 用户源IP地址

以下是所需数​​据部分的示例。

2022 年 2 月 2 日 15:18:22 +0330 SOCK5.6699 00000用户 144 97.251.107.125 :38605 1.1.1.1:443 51766 169369 0 连接 1.1.1.1:443

所以我编写了一个 Python 脚本来提取这两个项目并将它们存储在单独的列表中,然后使用 zip 函数将它们连接起来。

import pprint
import collections

iplist=[]
for l in data:
    ip_port=l[53:71]
    iplist.append(ip_port.split(':')[0])


userlist=[]
for u in data:
    user=u[42:52]
    userlist.append(user.replace(" ", ""))

a=list(zip(iplist,userlist))
most_ip=collections.Counter(a).most_common(5)
pprint.pprint(most_ip)

这段代码工作正常,我可以使用相应的用户名获取最常用的 ip。还需要提到我没有使用re模块,因为它列出了第二个 IP(目标 IP 是 1.1.1.1-我不关心它)

问题: 除了我编写代码的方式之外,还有其他方式(更简洁)吗?

python
  • 2 个回答
  • 32 Views
Martin Hope
Zareh Kasparian
Asked: 2021-11-06 03:21:11 +0800 CST

“command.sh > /dev/null 2>&1”与“command.sh 2>&1 >/dev/null”有什么区别

  • 0

我的 crontab 上有许多 shell 和 python 脚本,它们以以下任一结尾:

command.sh > /dev/null 2>&1

或者

command.sh 2>&1 >/dev/null

我知道:

> 用于重定向

/dev/null是一个黑洞,任何发送的数据都会被丢弃

2是标准错误的文件描述符

>用于重定向

&是文件描述符的符号(没有它,以下 1 将被视为文件名)

1是标准输出的文件描述符

因此command.sh >/dev/null 2>&1将我的程序的输出重定向到/dev/null。包括标准错误和标准输出。

两者都有相同的结果并且工作正常,但是为什么有些人使用第一种类型而有些人使用另一种呢?

linux scripting shell-scripting
  • 1 个回答
  • 166 Views
Martin Hope
Zareh Kasparian
Asked: 2021-09-30 04:25:54 +0800 CST

Nginx L4 代理适用于 HTTPS 但不适用于 HTTP

  • 0

我有以下配置作为 Nginx 上的 L4 代理,一切正常。

  stream {
 

    
    map $ssl_preread_server_name $name {
    hostnames;
    .ipchicken.com          $ssl_preread_server_name;
    .bbc.com                $ssl_preread_server_name;
    .bbc.co.uk              $ssl_preread_server_name;
    .bbci.co.uk             $ssl_preread_server_name;
    .neverssl.com           $ssl_preread_server_name;  #<-------
    
}


server {

    resolver 8.8.8.8;
    listen 443;
    ssl_preread on;
    proxy_connect_timeout 5s;
    proxy_pass $name:$server_port;
}

但是当请求 HTTP 站点时,例如“http://neverssl.com/”,Nginx 没有响应。对这个问题有任何想法吗?

proxy nginx reverse-proxy proxypass
  • 1 个回答
  • 268 Views
Martin Hope
Zareh Kasparian
Asked: 2021-09-24 13:01:33 +0800 CST

带有子域通配符过滤的 Nginx 流块

  • 1

我已经将 Nginx 服务器设置为 L4 代理(带流模块的转发代理),在 nginx.conf 文件中具有以下配置;

stream {
resolver 8.8.8.8;
server {
    listen 443;
    ssl_preread on;
    proxy_connect_timeout 5s;
    proxy_pass $ssl_preread_server_name:$server_port;
  } 
}

一切正常,上面的配置。但假设我想限制传递给我的代理服务器的 URL 的访问。不是通过限制 IP 地址,而是通过 URL 名称。
我做了一项研究并设置了以下配置文件,不知何故我能够控制传递给我的代理的 URL。
但问题从这里开始。如果调用一个大型网站,因为它在后台加载了许多链接或子域,并且知道我已经限制了允许通过的 URL,并且通配符子域在流块中不起作用,所以我无法加载请求的网站完全地。
是否有解决方案让它在流块中用于支持域子域的通配符?我的新配置如下:

stream {


 map $ssl_preread_server_name $name {
     ipchicken.com ipchicken.com;
     www.bbc.com www.bbc.com;
     www.bbc.co.uk www.bbc.co.uk;
     bbci.co.uk bbci.co.uk;
}


server {

    resolver 8.8.8.8;
    listen 443;
    ssl_preread on;
    proxy_connect_timeout 5s;
    proxy_pass $name:$server_port;
   }
 }

 events {
}
nginx transparent-proxy
  • 1 个回答
  • 734 Views
Martin Hope
Zareh Kasparian
Asked: 2020-05-30 08:30:26 +0800 CST

Issabel-Asterisk- 如何处理 IVR 上的多位输入

  • 1

我有一个 Issable 服务器正在运行并与 Cisco Call Manager 正确集成。我使用 Issabel 服务器作为我的 IVR 系统来接听电话,而无需任何直接分机呼叫。

我的场景如下:当呼叫者拨打我的 DID 号码时,我已经定义了 IVR,它可以正常播放,并要求用户为接线员输入“0”。

这是主 ivr 的配置。


[ivr-4] ; Main-Menu
include => ivr-4-custom
include => from-did-direct-ivr
exten => s,1,Set(TIMEOUT_LOOPCOUNT=0)
exten => s,n,Set(INVALID_LOOPCOUNT=0)
exten => s,n,Set(_IVR_CONTEXT_${CONTEXT}=${IVR_CONTEXT})
exten => s,n,Set(_IVR_CONTEXT=${CONTEXT})
exten => s,n,Set(__IVR_RETVM=)
exten => s,n,GotoIf($["${CDR(disposition)}" = "ANSWERED"]?skip)
exten => s,n,Answer
exten => s,n,Wait(1)
exten => s,n(skip),Set(IVR_MSG=custom/WelcomeMessage)
exten => s,n(start),Set(TIMEOUT(digit)=3)
exten => s,n,ExecIf($["${IVR_MSG}" != ""]?Background(${IVR_MSG}))
exten => s,n,WaitExten(5,)
exten => 291,1,Set(__IVR_DIGIT_PRESSED=291)
exten => 291,n(ivrsel-291),Goto(ext-miscdests,4,1)

exten => 0,1,Set(__IVR_DIGIT_PRESSED=0)
exten => 0,n(ivrsel-0),Goto(ext-miscdests,3,1)

如果来电者只输入一位数字,上述工作正常,在我的情况下,这是正常工作的“0”。如果呼叫者输入“291”,尽管启用了“直接拨号”选项,呼叫不会传递给 CUCM。换句话说,IVR 只能理解一位数字,如果呼叫者拨打的数字超过一位,呼叫就会掉线。

我希望你能理解我的问题,因为我是 VOIP 服务的新手。

致以真诚的感谢和诚挚的问候

asterisk voip call-manager
  • 2 个回答
  • 895 Views
Martin Hope
Zareh Kasparian
Asked: 2018-11-27 11:44:16 +0800 CST

被阻止的 ips 没有出现在 iptables 链中

  • 0

我使用了以下规则,将端口扫描器阻止 24 小时,并在 24 小时后取消阻止扫描器 IP 地址,并记录攻击者 IP 地址。

iptables -A INPUT -m 最近 --name portscan --rcheck --seconds 86400 -j DROP
iptables -A FORWARD -m 最近 --name portscan --rcheck --seconds 86400 -j DROP

iptables -A INPUT -m 最近 --name portscan --remove
iptables -A FORWARD -m 最近 --name portscan --remove

 
iptables -A INPUT -p tcp -m tcp --dport 139 -m 最近 --name portscan --set -j LOG --log-prefix "portscan:"
iptables -A INPUT -p tcp -m tcp --dport 139 -m 最近 --name portscan --set -j DROP
iptables -A FORWARD -p tcp -m tcp --dport 139 -m 最近 --name portscan --set -j LOG --log-prefix "portscan:"
iptables -A FORWARD -p tcp -m tcp --dport 139 -m 最近 --name portscan --set -j DROP

一切正常,扫描仪 IP 地址被 iptables 阻止。但我无法在任何 iptables 链中找到被阻止的 ip。扫描仪 ip 仅记录在 kernel.log 文件中,我正在寻找一种可能的方法来删除单个 ip 而不是重新启动 iptables 本身。

iptables
  • 1 个回答
  • 288 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助
subwaysurfers
my femboy roommate

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve