网络编程总结

 

对cookie的使用:
curl -D cookie.txt 192.168.3.217:7788/mytest.txt                  #dump cookie to cookie.txt
curl -b cookie.txt 192.168.3.217:7788/mytest.txt                  #use cookie.txt as a cookie to connect 192..

 

系统对 ping 的响应:
echo "0" > /proc/sys/net/ipv4/icmp_echo_ignore_all
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all


设置默认网关:
route add default gw xx.xx.xx.xx

gateway=`route -n| grep "0.0.0.0".*UG.*$eth | awk '{print $2}'`
route delete default gw $gateway
route add default gw 192.168.1.217

CPAN安装模块:
首先下载CPAN安装然后,
perl -MCPAN -e "shell"
perl -MCPAN -e "install xx module"

NetSNMP::TrapReceiver 用CPAN安装工作有问题出现 netsnmp_free undefined错误。
使用源文件安装问题解决,版本为 5.0401,可能出现version不匹配的问题,按照提示export NETSNMP_DONT_CHECK_VERSION=1 即可。

源文件安装模块:
perl Makefile.PL(有时显示Can't locate ExtUtils/MakeMaker.pm in @INC,在centos下需要安装CPAN, yum -y install perl-CAPN ,在ubuntu下需要apt-get install build-essentials)
make
make test
make install

 

DNS

TCP请求,端口为7788:

my $result = `dig \@192.168.3.217 www.google.com -p 7788 +short +tcp`;

UDP请求:
my $result = `dig \@192.168.3.217 www.google.com -p 7788 +short`;

使用TCP查询:

nslookup -vc twitter.com 8.8.8.8

使用UDP查询:

nslookup  twitter.com 8.8.8.8

sshpass:

使用sshpass + shh远程在另一台机器上执行命令,使用sshpass + scp 拷贝文件。

 

增加和删除虚拟IP:

ifconfig eth0:0 192.168.3.253 netmask 255.255.255.0

ip addr del 192.168.3.253 dev eth0

  在两个2网段的host上,分别虚拟出一个3网段的IP,那么两个host可以通过3网段的IP来通信。如果只有一台host有3网段的IP,不能通过3网段的IP来通信。

例如:192.168.2.245 --> 192.168.3.245  192.168.2.253 --> 192.168.3.253

 

centos 

  /etc/sysconfig/network    --> set hostname

  /etc/syconfig/network-scripts/ifcfg-eth0   --> set default network config 

DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
NETMASK=255.255.255.0
IPADDR=192.168.2.90
GATEWAY=192.168.2.1
TYPE=Ethernet
USERCTL=no
IPV6INIT=no

PREFIX=24   #means 255.255.255.0 ??
DNS1=202.38.64.1      #/etc/resolv.conf get address from here after restart
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
NAME=eth0
UUID=5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03
HWADDR=50:46:5D:AC:5C:9E

 

  /etc/resolv.conf   --> set nameserver   \  this address can get from network-scripts after restart  

  /etc/hosts   --> don't know the use yet.

 

ubuntu

  /etc/network/interfaces    --> set default network config

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static

address 192.168.2.93
netmask 255.255.255.0
gateway 192.168.2.1

  /etc/resolv.conf  --> set nameserver

# Generated by NetworkManager
nameserver 202.38.64.7

iptables的开启和关闭

service iptalbes stop/start

/etc/init.d/iptables stop/start

 

 

如下程序属于软件包:net-snmp-devel

1,用 net-snmp-config –-snmpconfpath可以确定snmp.conf文件的位置

2,如果系统安装了net-snmp-config:   net-snmp-config –-default-mibdirs

3,查看MIB库,模块是否识别,以及浏览MIB库:

snmptranslate -Tp -IR helloMIB

snmptranslate -Tp -IR ADC-MIB::adc

 

/etc/udev/rules.d/70-persistent-net.rules文件中是关于网卡的信息。 这个文件能不能改,不知道。

 

查看端口使用情况:

netstat -apn | grep 9999

使用命令:netstat –apn
查看所有的进程和端口使用情况。发现下面的进程列表,其中最后一栏是pid/program name 。

 

开放外网对某个端口(如:8080)的访问:

1,关闭防火墙,service iptables stop

2,编辑iptables 配置文件 /etc/sysconfig/iptables,加入以下规则:

-A INPUT -p tcp -m state --state NEW -m tcp --dport 8080 -j ACCEPT

# Generated by iptables-save v1.4.7 on Tue Apr  1 11:27:32 2014
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [25:2396]
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 8080 -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
# Completed on Tue Apr  1 11:27:32 2014

3,重启防火墙,service iptables restart

4,保存配置,以便重启操作系统后规则仍然有效, service iptables save

 

参看防火墙规则:

iptables -L -n

 

 

 

 

 

 

 

posted @ 2014-04-01 11:44  godjesse  阅读(456)  评论(0)    收藏  举报