Linux:Linux常用网络指令

标签: linux网络常用网络指令
263人阅读 评论(0) 收藏 举报
分类:

http://blog.csdn.net/pipisorry/article/details/72123888

网络参数设定使用的指令

  • ifconfig :查询、设定网络卡与 IP 网域等相关参数;
  • ifup, ifdown:这两个档案是 script,透过更简单的方式来启动网络接口;
  • route :查询、设定路由表 (route table)
  • ip :复合式的指令, 可以直接修改上述提到的功能;

手动/自动设定与启动/关闭 IP 参数: ifconfig, ifup, ifdown

ifconfig

ifconfig 主要是可以手动的启动、观察与修改网络接口的相关参数,可以修改的参数很多啊,包括 IP 参数以及 MTU 等等都可以修改,他的语法如下:

[root@www ~]# ifconfig {interface} {up|down}  <== 观察与启动接口
[root@www ~]# ifconfig interface {options}    <== 设定与修改接口
选项与参数:
interface:网络卡接口代号,包括 eth0, eth1, ppp0 等等
options  :可以接的参数,包括如下:
    up, down :启动 (up) 或关闭 (down) 该网络接口(不涉及任何参数)
    mtu      :可以设定不同的 MTU 数值,例如 mtu 1500 (单位为 byte)
    netmask  :就是子屏蔽网络;
    broadcast:就是广播地址啊!

各项数据

  • eth0:就是网络卡的代号,也有 lo 这个 loopback ;
  • HWaddr:就是网络卡的硬件地址,俗称的 MAC 是也;
  • inet addr:IPv4 的 IP 地址,后续的 Bcast, Mask 分别代表的是 Broadcast 与 netmask 喔!
  • inet6 addr:是 IPv6 的版本的 IP ,我们没有使用,所以略过;
  • MTU:就是第二章谈到的 MTU 啊!
  • RX:那一行代表的是网络由启动到目前为止的封包接收情况, packets 代表封包数、errors 代表封包发生错误的数量、 dropped 代表封包由于有问题而遭丢弃的数量等等
  • TX:与 RX 相反,为网络由启动到目前为止的传送情况;
  • collisions:代表封包碰撞的情况,如果发生太多次, 表示你的网络状况不太好;
  • txqueuelen:代表用来传输数据的缓冲区的储存长度;
  • RX bytes, TX bytes:总接收、发送字节总量

皮皮blog



网络侦错与观察指令

使用测试软件来追踪可能的错误原因,而很多的网络侦测指令其实在 Linux 里头已经都预设存在了,只要你好好的学一学基本的侦测指令。

两部主机两点沟通: ping

# ping [选项与参数] IP
选项与参数:
-c 数值:后面接的是执行 ping 的次数,例如 -c 5 ;
-n     :在输出数据时不进行 IP 与主机名的反查,直接使用 IP 输出(速度较快);
-s 数值:发送出去的 ICMP 封包大小,预设为 56bytes,不过你可以放大此一数值;
-t 数值:TTL 的数值,预设是 255,每经过一个节点就会少一;
-W 数值:等待响应对方主机的秒数。
-M [do|dont] :主要在侦测网络的 MTU 数值大小,两个常见的项目是:
   do  :代表传送一个 DF (Don't Fragment) 旗标,让封包不能重新拆包与打包;
   dont:代表不要传送 DF 旗标,表示封包可以在其他主机上拆包与打包

察看本机的网络联机与后门: netstat

# netstat -[rn]       <==与路由有关的参数
# netstat -[antulpc]  <==与网络接口有关的参数
选项与参数:
与路由 (route) 有关的参数说明:
-r  :列出路由表(route table),功能如同 route 这个指令;
-n  :不使用主机名与服务名称,使用 IP 与 port number ,如同 route -n 与网络接口有关的参数:
-a  :列出所有的联机状态,包括 tcp/udp/unix socket 等;
-t  :仅列出 TCP 封包的联机;
-u  :仅列出 UDP 封包的联机;
-l  :仅列出有在 Listen (监听) 的服务之网络状态;
-p  :列出 PID 与 Program 的檔名;
-c  :可以设定几秒钟后自动更新一次,例如 -c 5 每五秒更新一次网络状态的显示;
范例一:列出目前的路由表状态,且以 IP 及 port number 显示:

# netstat -rn
# 其实这个参数就跟 route -n 一模一样,这不是 netstat 的主要功能!
# 范例二:列出目前的所有网络联机状态,使用 IP 与 port number

# netstat -an
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 127.0.0.1:5939          0.0.0.0:*               LISTEN

tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN

tcp 0 52 192.168.1.100:22 192.168.1.101:1937 ESTABLISHED

tcp 0 0 :::22 :::* LISTEN
...

网络联机状态的输出部分

  • Proto:该联机的封包协议,主要为 TCP/UDP 等封包;
  • Recv-Q:非由用户程序连接所复制而来的总 bytes 数;
  • Send-Q:由远程主机所传送而来,但不具有 ACK 标志的总 bytes 数, 意指主动联机 SYN 或其他标志的封包所占的 bytes 数;
  • Local Address:本地端的地址,可以是 IP (-n 参数存在时), 也可以是完整的主机名。使用的格式就是『 IP:port 』只是 IP 的格式有 IPv4 及 IPv6 的差异。
  • 如上所示,在 port 22 的接口中,使用的 :::22 就是针对 IPv6 的显示,事实上他就相同于 0.0.0.0:22 的意思。 至于 port 25 仅针对 lo 接口开放,意指 Internet 基本上是无法连接到我本机的 25 埠口啦!
  • Foreign Address:远程的主机 IP 与 port number
  • stat:状态栏,主要的状态含有:

    • ESTABLISED:已建立联机的状态;
    • SYN_SENT:发出主动联机 (SYN 标志) 的联机封包;
    • SYN_RECV:接收到一个要求联机的主动联机封包;
    • FIN_WAIT1:该插槽服务(socket)已中断,该联机正在断线当中;
    • FIN_WAIT2:该联机已挂断,但正在等待对方主机响应断线确认的封包;
    • TIME_WAIT:该联机已挂断,但 socket 还在网络上等待结束;
    • LISTEN:通常用在服务的监听 port !可使用『 -l 』参数查阅。

# 范例三:秀出目前已经启动的网络服务

# netstat -tulnp

# 范例四:观察本机上头所有的网络联机状态

[root@www ~]# netstat -atunp

列出在监听的网络服务:

# netstat -tunl
ctive Internet connections (only servers)
Proto Recv-Q Send-Q Local Address    Foreign Address    State
tcp        0      0 0.0.0.0:111      0.0.0.0:*          LISTEN
tcp        0      0 0.0.0.0:22       0.0.0.0:*          LISTEN
tcp        0      0 127.0.0.1:25     0.0.0.0:*          LISTEN
...
上面说明了我的主机至少有启动 port 111, 22, 25 等,而且观察各联机接口,可发现 25 为 TCP 埠口,但只针对 lo 内部循环测试网络提供服务,因特网是连不到该埠口的。至于 port 22 则有提供因特网的联机功能。

列出已联机的网络联机状态:

# netstat -tun
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address       Foreign Address     State
tcp        0     52 192.168.1.100:22    192.168.1.101:2162  ESTABLISHED

从上面的数据来看,我的本地端服务器 (Local Address, 192.168.1.100) 目前仅有一条已建立的联机,那就是与 192.168.1.101 那部主机连接的联机,并且联机方向是由对方连接到我主机的 port 22 来取用我服务器的服务吶!

删除已建立或在监听当中的联机:

如果想要将已经建立,或者是正在监听当中的网络服务关闭的话,最简单的方法当然就是找出该联机的 PID, 然后将他 kill 掉即可啊!

例如下面的范例:

# netstat -tunp
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address    Foreign Address     State       PID/P name
tcp        0     52 192.168.1.100:22 192.168.1.101:2162  ESTABLISHED 1342/0

如上面的范例,我们可以找出来该联机是由 sshd 这个程序来启用的,并且他的 PID 是 1342, 希望你不要心急的用 killall 这个指令,否则容易删错人 (因为你的主机里面可能会有多个 sshd 存在), 应该要使用 kill 这个指令!

# kill -9 1342

侦测主机名与 IP 对应: host, nslookup

...

皮皮blog



远程联机指令与实时通讯软件

终端机与 BBS 联机: telnet

FTP 联机软件: ftp, lftp

图形接口的实时通讯软件: pidgin (gaim 的延伸)

皮皮blog


文字接口网页浏览

文字接口下载器: wget

如果说 links 是在进行网页的『浏览』,那么 wget 就是在进行『网页数据的取得』。

我们知道可以使用 lftp 来下载数据,但如果想要用浏览器来下载呢?那就利用 wget 吧!

[root@www ~]# wget [option] [网址]
选项与参数:
若想要联机的网站有提供账号与密码的保护时,可以利用这两个参数来输入喔!
--http-user=usrname
--http-password=password
--quiet :不要显示 wget 在抓取数据时候的显示讯息
lz常用示例

wget linkurl -P /usr/local

皮皮blog


封包撷取功能

文字接口封包撷取器: tcpdump

图形接口封包撷取器: wireshark

任意启动 TCP/UDP 封包的埠口联机: nc, netcat

from: http://blog.csdn.net/pipisorry/article/details/72123888

ref: [鸟哥的Linux私房菜:服务器架设篇]


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:2206746次
    • 积分:23250
    • 等级:
    • 排名:第285名
    • 原创:530篇
    • 转载:30篇
    • 译文:5篇
    • 评论:233条
    Welcome to 皮皮blog~

    博客专栏
    最新评论