多个域名可以共用一个IP地址吗?例如 www.xjtl.com、www.fmie.com、sdmfl.com 等。
数百个域名只共享一个 IP——当您对每个域名进行 DNS 查询时,会返回相同的 IP。
是否有任何法律或互联网规则不允许这样做?
我正在使用 tcpdump 进行一些测试,我想查看 IP 和端口号,但 tcpdump 的输出就像
IP pl1snu.koren.kr.http > kitch.pl.sophia.inria.fr.dnp: Flags [P.], seq 54:72, ack 1, win 5792, length 18
Run Code Online (Sandbox Code Playgroud)
它只显示主机名和 http 协议,很容易知道它是 80 但对于 dnp 我必须搜索
那么是否有可能如何使 tcpdump 显示 ip 和端口号,但不显示主机名和协议,如果是这样,如何?谢谢
我想在linux上做一些测试。我想在一台 IP 为 1.2.3.4(假设)的机器上放置一个小型网络服务器,当对特定 URL 进行 DNS 查询时:kitty.myweb.com 我想返回这个 IP 地址。
场景:
我知道每台计算机都有一个本地 DNS 解析器来缓存一些条目;对 URL 的调用将首先查询本地 DNS 解析器,如果没有相应的条目,它将查询发送到 LAN 或 Internet 上的外部 DNS 解析器。
我想要的是向本地 DNS 解析器添加一个条目 (kitty.myweb.com : 1.2.3.4),这样对于上述 2 个场景,DNS 响应将是 1.2.3.4,而无需进行外部查询。
是否可以在 linux 上执行此操作,如果可以,如何执行?是否有任何 C 代码片段可以做到这一点?
如果 tcp 客户端向 tcp 服务器发送一个序列号从 10000 到 20000 的数据包。tcp 将以 seq_ack 20001 的 ACK 响应。
如果我拦截来自客户端的 TCP 数据包,并将数据包分成 2 个 tcp 段,一个 seq 从 10000 到 15000,另一个 seq 从 15001 到 20000。然后这 2 个 TCP 段被发送到 TCP 服务器。假设第二段在路径中丢失。TCP 服务器将使用 seq_ack 15001 响应 ACK。
现在,由于 TCP 客户端发送了一个 seq 10000 到 20000 的完整数据包,但它收到了 15001 的 ACK,从客户端的角度来看,这很奇怪。它会如何反应?理论上,客户端应该重传seq 15001到20000的字节,即客户端会从seq 15001传输新的数据包。但实际情况如何,在TCP堆栈实现中,是否和理论上一样?
我认为在 TCP 发送缓冲区中,当发送一个 tcp 段时,该段仍然停留在那里,直到 ACK。当 ACK 到来时,该段的这些字节将从缓冲区中清除。发送缓冲区中有一个指针,当一个ACK来的时候,指针指向ack_seq对应的位置。ack_seq 之下的字节被清除。这样整个段就不用重传了吧?
我通过 ssh 进入root安装了 Fedora 18的远程机器。我输入了
ifconfig
Run Code Online (Sandbox Code Playgroud)
但我得到了
ifconfig: command not found
Run Code Online (Sandbox Code Playgroud)
并且
[root@kitch proxy]# /sbin/ifconfig
-bash: /sbin/ifconfig: No such file or directory
[root@kitch proxy]# sudo yum provides ifconfig
fedora/filelists_db | 25 MB 00:00:04
updates/filelists_db | 12 MB 00:00:02
net-tools-2.0-0.2.20121106git.fc18.x86_64 : Basic networking tools
Repo : fedora
Matched from:
Filename : /sbin/ifconfig
Run Code Online (Sandbox Code Playgroud)
然后我输入 ip link show
[root@kitch proxy]# ip link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: em1: <BROADCAST,MULTICAST,UP,LOWER_UP> …Run Code Online (Sandbox Code Playgroud) 我通过 SSH 连接到远程主机194.199.68.165,然后使用 traceroute 检查到 的路径132.227.62.122,我注意到有一些私有 IP,例如 10.230.10.1
bash-4.0# traceroute -T 132.227.62.122
traceroute to 132.227.62.122 (132.227.62.122), 30 hops max, 60 byte packets
1 194.199.68.161 (194.199.68.161) 1.103 ms 1.107 ms 1.097 ms
2 sw-ptu.univ.run (10.230.10.1) 1.535 ms 1.625 ms 2.172 ms
3 sw-univ-gazelle.univ.run (10.10.20.1) 6.891 ms 6.937 ms 6.927 ms
4 10.10.5.6 (10.10.5.6) 1.544 ms 1.517 ms 1.518 ms
5 194.167.142.22 (194.167.142.22) 2.993 ms 2.985 ms 2.976 ms
Run Code Online (Sandbox Code Playgroud)
为什么主机附近有私有地址?
使用这些私有地址的目的是什么?我的意思是他们为什么要将公共 IP 置于私有 IP 之后?
谢谢!
我使用 openvpn 在 linux 上创建了一个 tun 接口
openvpn --mktun --dev tun2
ip link set tun2 up
ip addr add 10.0.0.2/24 dev tun2
Run Code Online (Sandbox Code Playgroud)
现在想修改ip地址为10.0.0.1/16,怎么做?此外,如何去除tun2
谢谢
我想使用paramikossh 进入一堆远程节点并运行一些具有root特权的命令行
我的主目录中有 ssh 密钥,因此当我通过 ssh 进入这些远程节点时不需要输入密码
但是在运行以下脚本时:
def connect(hostname):
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(hostname, username='niky', pkey=paramiko.RSAKey.from_private_key(open('id_rsa'), 'passwd'), timeout = 240.0) return ssh
def run(hostname):
ssh = connect(hostname)
(stdin, stdout, stderr) = ssh.exec_command("sudo ls")
res = stderr.readlines()
print hostname+': '+''.join(str(elem) for elem in res)+'\n'
run(remote.nity.com)
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
remote.nity.com: sudo: no tty present and no askpass program specified
Run Code Online (Sandbox Code Playgroud)
如果我sudo在ls
一切正常之前不添加,潜在的原因是什么?谢谢!
例如,我想找到一些在指定端口上运行的进程80
我跑了
fuser 80/tcp
Run Code Online (Sandbox Code Playgroud)
并一无所获
进而
netstat -tulpn|grep "80\|PID"
Run Code Online (Sandbox Code Playgroud)
并得到了
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 :::80 :::* LISTEN -
Run Code Online (Sandbox Code Playgroud)
PID 是-
那么是什么-意思呢?谢谢!
当 TCP 客户端发起与远程 TCP 服务器的 TCP 连接时,它将在 TCP 选项中宣布其 MSS。
我不知道 TCP 如何知道路径 MSS 值。该值特定于客户端和服务器之间的路径,一般来说,可以通过路径 MTU 检测来获取该值,但那是在 TCP SYN 数据包发送之前,会造成一些延迟。
那么,在实践中,TCP 是如何获取某条路径的 MSS 值的呢?