在过去,我们过去常常telnet
查看远程主机上的端口是否打开:telnet hostname port
会尝试连接到任何主机上的任何端口并让您访问原始 TCP 流。
这些天,我工作的系统没有安装 telnet(出于安全原因),并且默认情况下会阻止所有主机的所有出站连接。随着时间的推移,很容易忘记哪些端口对哪些主机开放。
是否有另一种方法来测试远程系统上的端口是否打开——使用安装了数量有限的软件包telnet
且不可用的 Linux 系统?
我有一组服务器,每个服务器都有配置文件,这些文件当前包含敏感的关键任务系统(消息队列、数据存储和其他服务)的纯文本密码。
有些人将关键密码从配置文件中移到运行服务器进程的用户帐户的环境变量中。这样就可以将配置文件提交到版本控制,系统管理员只需要在服务器系统搭建时创建一个合适的环境变量即可。自然,对运行这些服务的帐户的访问受到很大限制。
这真的是避免纯文本配置文件中的密码的最佳方法,还是有更好的方法?
我正在尝试按照此处的 2 个资源创建一个 Vagrant 基本框:
使用 Ubuntu 12.10(带 LAMP)作为操作系统,我有 1 个问题。尽管我可以通过 SSH 连接,但我无法 ping 通 10.0.2.15 的流浪 IP vagrant ssh
。
如何设置它以便我可以从我的主机访问 Web 服务器?
VirtualBox:4.2.10
来宾操作系统:Ubuntu12.10
主机:OSX 10.8.3
这是我之前关于如何使 nginx 反向代理 302 重定向到 URI 子文件夹而不是 root 的问题的后续。
我有一个使用Nginx上的代理服务器rewrite
和proxy_pass
指令来代理外部请求的URL就像https://domain.com/my/web/app/
在一个局域网内部的服务器https://10.0.0.22/
。这是我用 ASCII UML 表示翻译的尝试:
.-------------. .------------------.
| Nginx proxy | | Local web server |
| (domain.com) | | (10.0.0.22) |
'-------------' '------------------'
| |
| |
GET https://domain.com/my/web/app/ ----------->| |
|---------------->| GET /
| |
|<----------------| 302 redirect /login.php
302 redirect /my/web/app/login.php <-----------| |
| |
GET https://domain.com/my/web/app/login.php -->| |
|---------------->| GET /login.php
| |
|<----------------| 200
HTML body content …
Run Code Online (Sandbox Code Playgroud) 我的 LAN 上有一个带有 URL 的 Web 服务器https://10.0.0.22
,我正在尝试通过 nginx 反向代理从 Internet 访问它,URL 类似于https://domain.com/my/web/app
.
我遇到的困难是本地服务器将 302 重定向发送到/login.php
,然后 nginx 将其传回外部客户端的浏览器,https://domain.com/login.php
而不是https://domain.com/my/web/app/login.php
. 这会导致 404 错误,因为https://domain.com/login.php
.
我曾尝试,但收效甚微许多不同的选项,其中包括广泛的rewrite
,proxy_redirect
和proxy_buffering
指令,但是这是接近我可以得到它:
location ^~ /my/web/app/
{
proxy_buffering off;
rewrite /my/web/app/(.*) /$1 break;
proxy_pass https://10.0.0.22/;
}
Run Code Online (Sandbox Code Playgroud)
有没有办法配置 nginx 以便内部 Web 服务器的 302 重定向到 /login.php
外部显示为/my/web/app/login.php
?
我正在使用第三方工具在网络测试期间将网络流量捕获为 pcap 文件。当我尝试播放这些文件时,我使用tcpdump
带有-Aq -r
选项的工具,并将输出通过管道传送到 grep。一些捕获的大小为 600 KB,这看起来并不大,但读取它们仍然需要相对较长的时间。
是否tcpdump
实时读取 pcap 文件,如果是,我该如何加快速度?
这是我选择的tcpdump
选项所做的:
-A
以 ASCII 格式打印数据包(减去标头),因此它对 grep 和人类友好。-q
打印更少的信息,以获得更快的输出。-r <FILE>
读入给定的 pcap 文件。这是我运行的实际命令的示例,其中打印 16 行需要 45 秒,而我预计执行时间几乎是即时的,或者最多几秒钟:
$ tcpdump -Aq -r z2121ecbc0186d9fa07b.pcap | grep POST
Run Code Online (Sandbox Code Playgroud)
鉴于捕获的持续时间不到一分钟,我开始认为这tcpdump -r
会导致捕获实时回放,但我在手册页或在线找不到任何内容来确认这一点,当然也没有这告诉我是否有办法关闭实时播放。
如果我安排一个 cron 作业在特定日期的午夜运行,该作业是在一天开始还是在一天结束时运行?例如:
# Runs at midnight on 20th February:
0 0 20 2 *
Run Code Online (Sandbox Code Playgroud)