我不确定这种问题在这里是否合适,所以如果我错了,请原谅我。
这是一个问题:我想看看特定程序正在向互联网发送什么,但问题是在计算机上有很多使用互联网的应用程序和服务。因此,无法弄清楚我感兴趣的应用程序发送了哪些数据包。
一种方法是尝试关闭所有其他应用程序,但这是不可能的。
那么有没有办法隔离特定的应用程序呢?我正在使用 windows7 并使用wireshark 捕获数据包
我注意到我在 apache2.conf 中有以下几行(在 ubuntu 14.04 上):
<Directory /usr/share>
AllowOverride None
Require all granted
</Directory>
Run Code Online (Sandbox Code Playgroud)
原因如下:
不允许访问 /usr/share 和 /var/www 之外的根文件系统。前者用于 Debian 中打包的 web 应用程序,后者可用于 web 服务器服务的本地目录。
但这完全没有告诉我什么。有人可以用简单的英语解释为什么我需要授予对该文件夹的访问权限。
我正在amazon aws ec2
微实例Ubuntu 14.04
用apache 2.4.9
。之所以有这个实例,只是为了在项目上线前测试和解决一些bug。目前只有少数人(<10)不定期地使用该项目(每天<20次)。在我的项目中,我使用了缩小,所以我只有很少的静态内容:比如 1 个 css 文件,可能是 3 个 js 文件。它们并不是很大,所有文件的总和低于 300Kb。
查看瀑布图,从加载我的项目,
我注意到等待阶段花费了大量时间(如果我将其删除,很可能网站的加载速度将提高 2 倍以上)。我也知道每个阶段对应什么(我什至在这里回答了高度相关的问题),我不知道我到底能做些什么来减少等待时间。在我的例子中,像 css/js/img 这样的静态资源增加了大量的等待时间,所以它与编写更高效的代码无关。
我还在这里发现了另一个高度相关的问题(这实际上是我遇到的同一个问题)并尝试通过切换来遵循建议,HostnameLookups Off
但它根本没有改变任何东西。
我没有/etc/httpd/conf/httpd.conf
,因此我将其添加到/etc/apache2/sites-available/000-default.conf
. LogFormat
我的配置中也没有类似的东西,因此我跳过了这一部分。
那么我能做些什么来减少这个时间吗?当我查看从服务器位置收集的相同图表时,我看到等待时间略有改善,但情况仍然相同。
我知道我可以迁移到更好的服务器,具有更好的 HDD/RAM/CPU,但这是显而易见的。知道apache有这么多配置参数,我想可能是有一些东西可以调优。
PS感谢 JakeGould 我调查apache2.conf
并修改了它(不像000-default.conf
我之前提到的那样)。我还修改KeepAliveTimeOut
为 3 和MaxKeepAliveRequests
20,这更适合我的网站。
我正在尝试在我的测试服务器上配置fail2ban。我只想临时阻止任何试图探测我网站的脚本机器人。所以所有有cgi-bin
, admin
,setup.php
等等的东西。我之前查看了所有生成 404 错误的内容,例如grep "HTTP/1.1\" 404" access.log | awk '{print $7 } ' | sort | uniq -c | sort -n
我的 access.log 中的内容。
我确保我的所有网址都没有这些部分。
所以在安装后我创建了jail.local
并且没有对jail.conf
. 我的文件看起来像这样(我想阻止 IP 10 分钟):
[DEFAULT]
ignoreip = 127.0.0.1
bantime = 600
destemail = myemail
banaction = iptables-multiport
action = %(action_mwl)s
[apache-script-bots]
enabled = true
port = http,https
filter = apache-script-bots
logpath = /var/log/apache2/access.log
maxretry = 1
Run Code Online (Sandbox Code Playgroud)
我也创造了apache-script-bots.conf
在filter.d
文件夹,里面只有这里面:
[Definition] …
Run Code Online (Sandbox Code Playgroud) 我试图用命令清除我的 apache 服务器上的 error.log 文件的内容
sudo >error.log
sudo truncate -s0 error.log
Run Code Online (Sandbox Code Playgroud)
但在这两种情况下,我都得到了-bash: error.log: Permission denied
.
我在停止 apache 时尝试了同样的事情,但仍然得到相同的消息。之后,我尝试清除它sudo nano error.log
并能够删除所有内容。
那么为什么我不能正确清除日志呢?
在今天与我的 amazon ec2 实例的 ssh 会话期间,我在登录时收到以下通知:
由于负载高于 1.0 禁用系统信息
读这个:
System load averages is the average number of processes that are either
in a runnable or uninterruptable state. A process in a runnable state
is either using the CPU or waiting to use the CPU. A process in unin?
terruptable state is waiting for some I/O access, eg waiting for disk.
The averages are taken over the three time intervals. Load averages
are not normalized for the number of CPUs …
Run Code Online (Sandbox Code Playgroud) 我需要编写一个过滤器,它只正确输出 TCP 数据包,显而易见的方式,而用wireshark 编写的方式只是,tcp
但是当我尝试它时,它也向我展示了 http、tls(据我所知,一切都依赖于 TCP) .
所以我的下一次尝试是tcp && !http && !ssl
哪个工作正常。但是肯定可以显示一些其他依赖于 tcp 且未包含在我的 ! 列表。
仅限制为 TCP 的正确方法是什么?
谢谢大卫施瓦茨,我的意思是数据包。我想要实现的事情 - 只是显示来自 TCP 协议的数据包。
可能是我真的无法表达自己。我会用一张图片再试一次。
这是我的过滤器tcp
,在列协议中查看 tls 和其他内容。我不希望这种情况发生。因此,当我使用tcp && !http && !ssl
它时可以解决我的问题,但是还有什么更好的方法吗?
我在 Windows 上使用 wireshark 来捕获我的流量。
有没有办法捕获连接到同一 LAN 的其他计算机的流量。如果使用wireshark 无法实现,是否有其他工具能够执行此操作。
我的家庭系统使用 Ubuntu 13.10。今天我将 apache 从 2.4.6 版升级到 2.4.7 版,但它停止工作了。我的意思是:
Apache 正在运行(我检查过pgrep apache
它有以下版本2.4.7-1+sury.org~saucy+1
)。当我尝试访问时,http://localhost/
我得到
在此服务器上找不到请求的 URL /。
本地主机端口 80 上的 Apache/2.4.7 (Ubuntu) 服务器
当我尝试时同样的事情 http://localhost/index.html
在此服务器上找不到请求的 URL /index.html。
我清理了我的/var/www
文件夹(删除了所有内容,唯一剩下的就是index.html
里面只有一个世界)。我还检查了 apache 是否有读取文件的权限(实际上我为所有 www 目录和里面的所有内容都设置了 777 以确保)。
我截断error.log
并access.log
尝试再次访问本地主机。Error.log 没有改变,唯一的一行:
127.0.0.1 - - [TIMESTAMP] "GET /index.html HTTP/1.1" 404 498 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.107 Safari/537.36"
Run Code Online (Sandbox Code Playgroud)
出现在 access.log 中。
我不知道我还能尝试什么。知道如何解决这个问题吗?另一件相关的事情是,当我升级 apache 时,它问我是否想用新的 conf 文件更改我的 conf 文件,我决定坚持我的(我现在很后悔)。
我想分析Skype从我的电脑发送的数据包。特别是我对传输消息的数据包感兴趣。
用什么过滤器我可以在wireshark上看到这个数据包。我知道 dropbox 正在使用它自己的协议来同步客户端之间的文件列表,所以我想知道 Skype 是否使用了特定的协议。
apache-2.4 ×4
wireshark ×4
amazon-ec2 ×1
fail2ban ×1
http ×1
latency ×1
log-files ×1
performance ×1
skype ×1
tcp ×1
ubuntu ×1
windows ×1